On Jan 4, 2007, at 10:26 AM, Roch - PAE wrote:

All   filesystems   will   incur  a   read-modify-write when
application is  updating  portion of a  block.

For most Solaris file systems it is the page size, rather than
the block size, that affects read-modify-write; hence 8K (SPARC)
or 4K (x86/x64) writes do not require read-modify-write for
UFS/QFS, even when larger block sizes are used.

When direct I/O is enabled, UFS and QFS will write directly to
disk (without reading) for 512-byte-aligned I/O.

The read I/O only occurs if the block is not already in memory cache.

Of course.

ZFS stores files less than 128K (or less than the filesystem
recordsize)  as a single block.  Larger  files are stored as
multiple recordsize blocks.

So appending to any file less than 128K will result in a read-modify- write
cycle (modulo read caching); while a write to a file which is not
record-size-aligned (by default, 128K) results in a read-modify-write cycle.

For RAID-Z a block spreads onto all devices of a group.

Which means that all devices are involved in the read and the write; except, as I believe Casper pointed out, that very small blocks (less than 512 bytes
per data device) will reside on a smaller set of disks.

Anton

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to