1.4.3. GFS2 Performance Improvements
There are many features of GFS2 file systems that do not result in a difference in the user interface from GFS file systems but which improve file system performance.
A GFS2 file system provides improved file system performance in the following ways:
- Better performance for heavy usage in a single directory
- Faster synchronous I/O operations
- Faster cached reads (no locking overhead)
- Faster direct I/O with preallocated files (provided I/O size is reasonably large, such as 4M blocks)
- Faster I/O operations in general
- Faster execution of the
df
command, because of fasterstatfs
calls - Improved
atime
mode to reduce the number of write I/O operations generated byatime
when compared with GFS
GFS2 file systems provide broader and more mainstream support in the following ways:
- GFS2 is part of the upstream kernel (integrated into 2.6.19).
- GFS2 supports the following features.
- extended file attributes (
xattr
) - the
lsattr
() andchattr
() attribute settings by means of standardioctl
() calls - nanosecond timestamps
A GFS2 file system provides the following improvements to the internal efficiency of the file system.
- GFS2 uses less kernel memory.
- GFS2 requires no metadata generation numbers.Allocating GFS2 metadata does not require reads. Copies of metadata blocks in multiple journals are managed by revoking blocks from the journal before lock release.
- GFS2 includes a much simpler log manager that knows nothing about unlinked inodes or quota changes.
- The
gfs2_grow
andgfs2_jadd
commands use locking to prevent multiple instances running at the same time. - The ACL code has been simplified for calls like
creat
() andmkdir
(). - Unlinked inodes, quota changes, and
statfs
changes are recovered without remounting the journal.