Solaris 8 System Administration Supplement

Chapter 12 Managing File Systems With UFS Software

The UFS software has been enhanced in the Solaris 8 1/01 release. The following supplements information on direct I/O that is in the “Managing File Systems” section of the “Managing File Systems (Overview)” in the System Administration Guide, Volume 1.


Note –

For the most current man pages, use the man command. The Solaris 8 Update release man pages include new feature information that is not in the Solaris 8 Reference Manual Collection.


Improved UFS Direct I/O Concurrency

The Solaris 8 software release includes new UFS functionality. The performance of direct I/O, which is used by database applications to access unbuffered file-system data, has been improved by allowing concurrent read and write access to regular UFS files. Previously, an operation that updated file data would lock out all other read or write accesses until the update operation was completed.

Concurrent writes are restricted to the special case of file rewrites. If the file is being extended, writing is single threaded as before. Generally, databases pre-allocate files and seldom extend them thereafter. Therefore, the effects of this enhancement are seen during normal database operations.

The direct I/O improvements bring I/O-bound database performance on a UFS file system to about 90% of raw partition access speeds. If the database is CPU bound or bus bandwidth bound, you might not see any improvement.

Consider running your I/O database applications with direct I/O enabled if you are already using UFS to store database tables. Use your database administrative procedures to enable direct I/O, if possible. If you cannot enable direct I/O through your database product, use the mount -o forcedirectio option to enable direct I/O for each file system or use the directio(3C) library call to enable direct I/O.

See mount_ufs(1M) or directio(3C) for more information.