Veritas™ File System Programmer's Reference Guide - Solaris
- Veritas 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
- API functions
- File Change Log record
- Copying File Change Log records
- Veritas File System and File Change Log upgrade and downgrade
- Reverse path name lookup
- Multi-volume support
- Named data streams
- Veritas File System I/O
- Caching advisories
- Extents
- Thin Reclamation
Record structure fields
Table: FCL record structure fields briefly describes each field of the fcl_record structure and indicates the record types for which it is valid.
Table: FCL record structure fields
Field | Description | Validity |
---|---|---|
fr_reclen | Length of the FCL record. This includes length of the FCL record structure and length of the data stored immediately following the structure. This length should be used while traversing fcl records returned in the buffer by vxfs_fcl_read. | Valid for all records. |
fr_inonum | The inode number of the file being changed. To generate the full path name of the changed object, the inode number and generation count (fr_inogen) can be used with vxfs_inotopath_gen. | Valid for all FCL records except when the record is FCL_EVNTMSK_CHG. For event mask change the file is implicitly the FCL file. |
fr_op | The operation for this FCL record. For example, creation, unlink, write, file attributes change, or other change. fr_op takes on one of the values for the record types listed in Table 2-1. Use this parameter to determine which fields of the FCL record are valid. | Valid for all records. |
fr_time | The approximate time when the change was recorded in the FCL file. Use the ctime() call to interpret this field. | Valid for all records. |
fr_inogen | The generation count of the changed file. The generation count in combination with the inode number (of the file) is passed to vxfs_inotopath_gen to provide the exact full path name of the object. Without the generation count, the returned path name can be a re-used inode. | Valid for all FCL records except for event mask changes and unlinks. For event mask changes, the inode number and generation count are implicit. For unlink, the generation count is not needed to get the filename via reverse name lookup, since it is already present with the record. |
fr_pinonum fr_pinogen fr_filename | For FCL records like file remove or rename, where the directory entry is removed, the filename cannot be determined by reverse name lookup. Similarly in the case of link record, the filename cannot be determined unambiguously. Therefore in these cases, the filename, inode number, and generation count of the parent directory (containing the file being changed) is recorded. The parent directory inode (fr_pinonum) and generation count (fr_pinogen) can be used with the reverse name lookup API to identify the full path name of the parent directory. Adding the trailing filename yields the object's full name. | Valid when the FCL record is VX_FCL_UNLINK, VX_FCL_RENAME or VX_FCL_LINK. The unlink and rename; filename and the parent inode number; and generation count, contain information about the old file that was removed. For the link, they represent the new filename. |
fr_cmdname | A short name of the command which opened the file represented by fr_inonum and fr_inogen. | Valid only when the FCL record is VX_FCL_FILEOPEN. |
fr_stats | A pointer to an FCL_iostat record. The fcl_iostat record contains I/O statistics such as the number of reads / writes that happened on the file, average time for a read / write, etc. These point-in-time records can be used to compute the aggregate or average I/O statistics for a file over a period of time. | Valid only when the FCL record is VX_FCL_FILESTATS. |
fr_oldmask fr_newmask | These fields contain the old and new event masks, respectively. Each event mask is a "logical or" of a set of masks defined in fcl.h. | Valid only when the FCL record is VX_FCL_EVNTMASK_CHG. |
fr_acsinfo | A pointer to an FCL_acsinfo structure. This structure contains information such as the user and group ID of the application that performed the particular operation, the process id and the ID of the accessing node. | Validity is determined by the fcl_acsinfovalid bit-field. It can potentially exist with all kinds of records. This is an optional field. |