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