Please enter search query.
Search <book_title>...
InfoScale™ 9.0 File System Programmer's Reference Guide - Solaris
Last Published:
2025-07-24
Product(s):
InfoScale & Storage Foundation (9.0)
Platform: Solaris
- InfoScale File System software developer's kit
- File Change Log
- About the File Change Log file
- Record types
- File Change Log tunables
- Application programming interface for File Change Log
- Ease of use
- Backward compatibility
- API functions
- File Change Log record
- Copying File Change Log records
- VxFS and File Change Log upgrade and downgrade
- Reverse path name lookup
- Multi-volume support
- Named data streams
- Veritas File System I/O
- About Veritas File System I/O
- Freeze and thaw
- Caching advisories
- Extents
- Thin Reclamation
File Change Log record
An application reads the FCL file through the vxfs_fcl_read() function.
vxfs_fcl_read performs the following tasks:
Reads the data from the FCL file
Assembles the data into fcl_record structures
Fills the buffer passed in by the application with these records
Each fcl_record structure represents a logical event recorded in the FCL. It is defined as the following:
struct fcl_record {
uint32_t fr_reclen; /* Record length */
uint16_t fr_op; /* Operation type. */
uint16_t fr_unused1; /* unused field */
uint32_t fr_acsinfovalid : 1; /* fr_acsinfo field valid */
uint32_t fr_newnmvalid : 1; /* fr_newfilename field is valid */
uint32_t fr_pinogenvalid : 1; /* fr_fr_pinogen field is valid */
uint32_t fr_unused2 : 29; /* Future use */
uint64_t fr_inonum; /* Inode Number. */
uint32_t fr_inogen; /* Inode Generation Count. */
fcl_time_t fr_time; /* Time. */
union fcl_vardata {
char *fv_cmdname;
struct fcl_nminfo fv_nm;
struct fcl_iostats *fv_stats;
struct fcl_evmaskinfo fv_evmask;
} fr_var;
uint64_t fr_tdino; /* Target dir ino */
char *fr_newfilename; /* For rename */
struct fcl_acsinfo *fr_acsinfo; /* Access Info */
};
struct fcl_nminfo {
uint64_tfn_pinonum;/* Parent Inode Number. */
uint32_tfn_pinogen;/* Parent Inode Gen cnt. */
char*fn_filename;
};
struct fcl_evmaskinfo {
uint64_toldmask;/* Old event mask. */
uint64_tnewmask;/* New event mask. */
};