fsckpt_sa_info - return status information on a Storage Checkpoint within a vxfs file system on a block special device
int fsckpt_sa_info(char *spec, char *ckptname, int version, int ckptindex, struct c_info *cip);
fsckpt_sa_info() returns status information for a Storage Checkpoint ckptname within a vxfs file system on a block special device spec
A version number is passed to fsckpt_fsopen() to associate the function with a set of features available. The FSCKPT_VERSION constant is defined and represents the most current version of the API. It is recommended that applications use this definition when using the API.
The structure c_info pointed to by cfp contains the following fields:
unsigned int ci_version; /* api version number */ unsigned int ci_flags; /* misc. flags */ struct timeval ci_ctime; /* ckpt creation time */ struct timeval ci_mtime; /* ckpt modification time */ unsigned long long ci_ninodes; /* number of inodes */ unsigned long long ci_nblocks; /* number of allocated blocks*/ unsigned long ci_read; /* number of reads */ unsigned long ci_write; /* number of writes */ unsigned long ci_push; /* number of pushes */ unsigned long ci_pull; /* number of pulls */ unsigned long ci_move; /* number of moves */ unsigned long ci_move_all; /* number of move alls */ unsigned long ci_merge_all; /* number of merge alls unsigned long ci_logged_push; /* number of logged pushes */ unsigned long ci_clone_enospc; /* number of enospc on writes */ unsigned long ci_overlay_bmap; /* number of overlay bmaps */ char ci_name[FSCKPT_NAMESZ]; /* ckpt name */ char i_signature[FSCKPT_NAMESZ]; /* ckpt signature */ unsigned int ci_reserved; /* reserved for future */ };
where flags are:
All fields containing a number of blocks are given as 1K blocks.
CI_DELAYED Used in conjunction with CI_NODATA, the Storage Checkpoint is marked for delayed conversion to nodata. CI_LARGEFILES The Storage Checkpoint supports files larger than 2 gigabytes in size. Applications must be largefiles enabled (compiled to handle 64-bit file offsets) to properly access this Storage Checkpoint. Applications which are not large file enabled cannot operate on a CI_LARGEFILES Storage Checkpoint. CI_MOUNTED The Storage Checkpoint is mounted. CI_NODATA The Storage Checkpoint contains no data. CI_NOMOUNT The Storage Checkpoint cannot be mounted and cannot allow processes to be in-context. CI_REMOVABLE The Storage Checkpoint was created with the CC_REMOVE flag. This means that this Storage Checkpoint could self-destruct on full file systems. CI_ROOT The Storage Checkpoint is marked as the primary fileset for this file system.
The ckptindex field is meaningful only when used on the primary file system image. A call with a value other than zero on a Storage Checkpoint name results in an error. When used on the primary image, this field is used to obtain status information on Storage Checkpoints by their creation time with a value of one representing the newest Storage Checkpoint, a value of two the second newest Storage Checkpoint and so forth. If the index value passed to this call is larger than the number of Storage Checkpoints, then an ENOENT error is returned. The ckptindex argument can be used to list all Storage Checkpoints in the file system.
fsckpt_sa_info() returns zero on success, non-zero on failure.
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. The Storage Checkpoint could not be loaded. ENOENT The specified Storage Checkpoint ckptname does not exist. VX_NOLICENSE There is no existing license for the checkpoint feature. This error is returned when the user attempts to obtain a handle with fsckpt_fsopen().
fsckptadm(1M), fsckpt_cntl(3), fsckpt_create(3), fsckpt_createall(3), fsckpt_fsopen(3), fsckpt_info(3), fsckpt_intro(3)