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.
The user does not have permission to perform this operation.
The requisite inode has already been re-used, so that the deleted file cannot be restored into it.
A file filename is already present in the directory specified by dirhandle.
Internal API error or bad address passed as API parameter.
A signal was caught during the execution of the operation.
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.
An I/O error occurred on the device on which the file system or Storage Checkpoint is mounted.
Memory could not be allocated to support the API.
The file system does not have enough disk space to complete the operation.
Dirhandle does not specify a valid directory.
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),