What's New in the Solaris 9 9/04 Operating Environment

File System Enhancements

The Solaris 9 release includes the following file system enhancements.

Extended File Attributes

The UFS, NFS, and TMPFS file systems have been enhanced to include extended file attributes. Application developers can associate specific attributes to a file. For example, a developer of a file management application for a windowing system might choose to associate a display icon with a file.

Extended attributes are logically represented as files within a hidden directory that is associated with the target file.

You can use the extended file attribute API and a set of shell commands to add and manipulate file system attributes. See the fsattr(5), openat(2), and runat(1) man pages for more information.

Many file system commands in Solaris provide an attribute-aware option that you can use to query, copy, modify, or find file attributes. For more information, see the specific file system command in the man pages.

See also the System Administration Guide: Basic Administration for more information.

Improved UFS Direct I/O Concurrency

The performance of direct I/O is used by database applications to access unbuffered file-system data. Direct I/O improvements allow concurrent read access 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.

See the System Administration Guide: Basic Administration and the man page, mount_ufs(1M), for more information.

DNLC Improvements

The directory name look-up cache (DNLC) is enhanced to provide improved performance when you access files in large directories with 1000 or more files.

The DNLC is a general file-system service. DNLC caches the most recently referenced directory names and their associated vnodes. UFS directory entries are stored linearly on disk. This means that locating an entry requires searching each entry for the name. Adding a new entry requires searching the entire directory to ensure the name does not exist. To solve this performance problem, entire directories are cached in memory by the DNLC.

Another feature in this release is that DNLC caches file objects that have been looked up but do not exist. This feature is known as negative caching, and is useful because some applications repeatedly test to check if a file exists.

New tunable parameters are associated with the DNLC improvements. These parameters are set optimally. Do not change the parameters casually.

See the Solaris Tunable Parameters Reference Manual for further information.

UFS Snapshots (fssnap)

You can use the fssnap command to create a snapshot of a file system. A snapshot is a file system's temporary image that is intended for backup operations.

When run, the fssnap command creates a virtual device and a backing-store file. You can back up the virtual device, which looks and acts like a real device, with any of the existing Solaris backup commands. The backing-store file is a bitmapped file that contains copies of pre-snapshot data that has been modified since the snapshot was taken.

See the System Administration Guide: Basic Administration and the man page, fssnap(1M), for more information.

Updated mkfs Command

The mkfs command has been updated to improve performance when you create file systems. Improved mkfs performance is often 10 times faster than in previous Solaris releases. Performance improvements are seen on systems when you create both large file systems and small file systems. However, the biggest mkfs performance improvements occur on systems with high-capacity or high-speed disks.