About the File Change Log file

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 open(2), lseek(2), read(2) and close(2) can access the data in the FCL, while the write(2), mmap(2) and 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.

The FCL log file contains both the information about the FCL, which is stored in the FCL superblock, and the changes to files and directories in the file system, which is stored as FCL records.

See File Change Log 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.

The /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.

See the fcladm(1M) man page.