Veritas™ File System 5.0.1 Programmer's Reference Guide

Table 2-2
FCL record structure fields (continued)
ValidityDescriptionField
Valid only when the FCL record is
VX_FCL_FILESTATS.
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.
fr_stats
Valid only when the FCL record is
VX_FCL_EVNTMASK_CHG.
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.
fr_oldmask
fr_newmask
Validity is determined by the
fcl_acsinfovalid
bit-field. It can potentially
exist with all kinds of records.
This is an optional field.
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.
fr_acsinfo
Copying File Change Log records
Each FCL record returned by vxfs_fcl_read is of variable size and consists of the
fcl_record structure, followed by the additional data associated with the record.
The pointers in the fcl_record structure point to the data stored after the
fcl_record structure and the record length specifies the size of the variable sized
record. However, making an in-core copy of the FCL record involves more than
replicating fr_reclen bytes of data from the source to the copy.
A simple memory copy just copies over the pointers from the source record to the
target record. This leaves the pointers in the target record pointing to data from
the source. Eventually, this can cause problems when the memory for the source
record is re-used or freed. The pointers in the replica must be modified to point
to data in the target record. Therefore, to make an in-core copy of the FCL record,
the application must use the vxfs_fcl_copyrec function to copy and perform
the pointer relocation. The user application must allocate the memory needed for
the copy.
43File Change Log
Application programming interface for File Change Log