| Filesystem | Type | Device | Description |
|---|---|---|---|
| UFS | Regular | Disk | Unix Fast filesystem - Solaris default |
| VxFS | Regular | Disk | Veritas filesystem |
| QFS | Regular | Disk | QFS filesystem from LSC Inc. |
| pcfs | Regular | Disk | MSDOS FAT and FAT32 filesystem |
| hsfs | Regular | Disk | High Sierra filesystem (CDROM) |
| tmpfs | Regular | Memory | Uses memory and swap |
| nfs | Pseudo | Network | Network filesystem |
| cachefs | Pseudo | filesystem | Uses a local disk as cache for another NFS filesystem |
| autofs | Pseudo | filesystem | Uses a dynamic layout to mount other filesystems |
| specfs | Pseudo | Device drivers | filesystem for the /dev devices |
| procfs | Pseudo | Kernel | /proc filesystem representing processes |
| sockfs | Pseudo | Network | Filesystem of socket connections |
| fifofs | Pseudo | Files | FIFO filesystem |
| Filesystem | Allocation format |
|---|---|
| UFS | Block, allocator tries to allocate sequential blocks |
| VxFS | Extent based |
| QFS | Extent based |
Disk blocks are allocated as they are used, which means that a minimal number of filesystem blocks are allocated to a file in an attempt to conserve storage space. When a file is extended, blocks are allocated from a free block map, so that blocks are sometimes allocated in a random order. Random block allocation can be avoided by optimizing the block allocation policy so that it attempts to allocate a sequential series of blocks.
The block allocation scheme must also write information about where each new block is allocated every time the file is extended. If the file is being extended on elbock at a time, a lot of extra disk I/O will be required to write the filesystem block structure information. Filesystem block structure information is known as metadata. Filesystem metadata is always written synchronously to the storage device, which means operations that change the size of a file need to wait for each metadata operation to complete.
Extent-based allocationExtent-based filesystems allocate disk blocks in large groups at a single time, which forces sequential allocation. As a file is written, a large number of blocks are allocated, after which writes can occur in large groups or clusters of sequential blocks. Filesystem metadata is written when the file is first created. Subsequent writes within the first allocation extent of blocks do not require additional metadata writes (until the next extent is allocated).
| Filesystem | Max Capacity | Max File Size |
|---|---|---|
| SunOS 4.x UFS | 2 GB | 2 GB |
| Solaris UFS | 1 TB | 2 GB |
| Solaris 2.6 UFS | 1 TB | 1 TB |
| VxFS | 8,000 TB | 8,000 TB |
| QFS | 1 petabyte | 1 petabyte |
| Filesystem | Block Size Support | Sub Block Support |
|---|---|---|
| Solaris UFS | 4 KB or 8 KB | 0.5-8 KB fragments |
| VxFS | 512 bytes to 8 KB | N/A |
| QFS | 1 KB to 512 KB | N/A |
| Filesystem | ACL Support? |
|---|---|
| Solaris 2.0-2.4 UFS | No |
| Solaris 2.5+ UFS | Yes |
| VxFS | Yes |
| QFS | No |
| Filesystem | Logging Characteristics | Comments |
|---|---|---|
| UFS (2.6 and earlier) | No logging without SDS | |
| Solaris 2.4-2.5.1 UFS with SDS 3.0-4.x | Metadata logging with logging of small sync user data | Can have separate log device |
| Solaris 2.6 UFS with SDS 3.0-4.x | Metadata logging only | Can have separate log device |
| Solaris 7 UFS | Metadata logging | Log is embedded in filesystem |
| VxFS | Data and metadata logging | Default is metadata logging only |
| VxFS with NFS Accelerator | Data and metadata logging | Log is placed on a separate device |
| QFS | Logging not used | Can do quick mount on reboot without fsck after crash |