Managing the VxFS filesystem

fsck_vxfs intent log replay

The VxFS filesystem records pending updates to the filesystem structure in a circular intent log. Intent log records are written to disk before the actual changes are made to the filesystem. The intent log replay reads the intent log and either completes or nullifies the pending updates. fsck runs an intent log replay on VxFS filesystems by default.

In addition to entries in the intent log, there might be extended inode operations posted in the ``i_eopflags'' field of the inode. The extended inode operations are performed when the filesystem is mounted, as part of the mount operation.

The extended operations release space as they run. Therefore additional free space that was not visible initially can appear after the filesystem has been mounted, even though fsck completed successfully.

There are extended operations defined for the following:

Deferred removal of files
A file whose last link has been removed can be deleted as an extended inode operation.

Shortening of files
The VxFS filesystem allocates space to files in extents. The last extent may be large and extend beyond the end of the file. The unused space is recovered by shortening the extent after the file is closed. The pending shorten is performed as an extended inode operation.

Truncation of large files
When a file is truncated, the space can be freed as an extended inode operation.

Clearing of large extents
The VxFS filesystem supports large extents, up to millions of blocks in size. It is possible to have sparse files with large extents. In this case, if an extent is allocated in the ``middle'' of a file, the extent must be zeroed so that previous data on the disk is not retained. During extended operation completion, the uncleared extent is removed from the file before the file can be accessed.

Trimming of reservations
When an application reserves space for a file on a VxFS filesystem, it can request that the unused reservation be trimmed to the file size when the file is closed. Because the operation can remain pending for an indefinite period or time, it is recorded in the inode. When this operation is detected during mount, the reservation is reduced to match the file size and any extra space past the end of the file will be freed.

The time to complete the intent log replay is normally very brief, proportional to the log size, even for large filesystems. Once extended operation completion processing is done, the filesystem is marked as CLEAN.

Next topic: Full VxFS fsck
Previous topic: fsck_vxfs sanity check

© 2007 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 05 June 2007