File Change Log records file system changes such as creates, links, unlinks, renaming, data appended, data overwritten, data truncated, extended attribute modifications, holes punched, and miscellaneous file property updates.
FCL stores changes in a sparse file in the file system namespace. The FCL file is located in
mount_point/lost+found/changelog. The FCL file behaves like a regular file, but some operations are prohibited. The standard system calls
close(2) can access the data in the FCL, while the
rename(2) calls are not allowed.
Although some standard system calls are currently supported, the FCL file might be pulled out of the namespace in future VxFS release and these system calls may no longer work. It is recommended that all new applications be developed using the programmatic interface.
In 4.1, the structure of the File Change Log file was exposed through the
/opt/VRTS/include/sys/fs/fcl.h header file. In this release, the internal structure of the FCL file is opaque. The recommended mechanism to access the FCL is through the API described by the
/opt/VRTSfssdk/5.0/include/vxfsutil.h header file.
/opt/VRTS/include/sys/fs/fcl.h header file is included in this release to ensure that applications accessing the FCL with the 4.1 header file do not break. New applications should use the new FCL API described in
/opt/VRTSfssdk/5.0/include/vxfsutil.h. Existing applications should also be modified to use the new FCL API.
With the addition of new record types, the FCL version in this release has been updated to 4. To provide backward compatibility for the existing applications, this release supports multiple FCL versions. Users now have the flexibility of specifying the FCL version for new FCLs. The default FCL version is 4.