fsckpt_fpromote - promote a file from a Storage Checkpoint into another fileset
int fsckpt_fpromote(void *dirhandle, void *filehandle, char *filename);
fsckpt_fpromote() is intended for restoration of deleted files, and is used to promote a Storage Checkpoint file specified by filehandle back into the directory specified by dirhandle in another later fileset, thus undoing the effects of a file deletion.
Filehandle must specify a regular file in the most recent Storage Checkpoint of the file system. Dirhandle specifies a directory in the fileset from which that Storage Checkpoint was taken. Filename specifies the name which will be given to the restored file, and is typically the same name as the file has in the Storage Checkpoint.
Both filehandle and dirhandle are obtained by prior calls to fsckpt_fopen(3). Prior to the fsckpt_fopen(3) call to obtain filehandle, both the file system and Storage Checkpoint should first be opened via fsckpt_fsopen(3).
Upon successful completion of the fsckpt_fpromote() call, the restored file specified filehandle will be present as filename in the directory specified by dirhandle on the primary file system as well as in Storage Checkpoint file system.
fsckpt_fpromote() returns zero on success, non-zero on failure.
EACCESS The user does not have permission to perform this operation. EBUSY The requisite inode has already been re-used, so that the deleted file cannot be restored into it. EEXIST A file filename is already present in the directory specified by dirhandle. EFAULT Internal API error or bad address passed as API parameter. EINTR A signal was caught during the execution of the operation. EINVAL The function is being used incorrectly, or the arguments to the function could not be validated. This may occur when an application tries to use an fshandle that was not created by the same process. EIO An I/O error occurred on the device on which the file system or Storage Checkpoint is mounted. ENOMEM Memory could not be allocated to support the API. ENOSPC The file system does not have enough disk space to complete the operation. ENOTDIR Dirhandle does not specify a valid directory. EROFS The file system is mounted as read-only; no updates are allowed on the file system and the Storage Checkpoint cannot be modified.
fsckptadm(1M), fsckpt_cntl(3), fsckpt_create(3), fsckpt_createall(3), fsckpt_fbmap(3), fsckpt_fclose(3), fsckpt_fopen(3), fsckpt_fsopen(3), fsckpt_intro(3),