Ross Walker writes:
> Brad wrote:
>> If a 8K file system block is written on a 9 disk raidz vdev, how is
>> the data distributed (writtened) between all devices in the vdev
>> since a zfs write is one continuously IO operation?
>>
>> Is it distributed evenly (1.125KB) per device?
>
> That's easy, 1k per device, 1k parity.
>
> I'm more interested in knowing how it handles a 4k recordsize split
> across 8 devices!

almost as easy: 512 bytes per device.  the kink is that you need two
stripes to do this, one 7 x 512 bytes + parity, and one stripe which
consists of the last 512 bytes mirrored (special case -- no use
calculating parity here).

it gets a little more interesting for 8.5 KiB: then the last stripe will
consist of two sectors plus one sector of parity, and an additional
sector will be reserved to avoid fragmentation issues.  the rule is, if
the allocation doesn't cover the full stripe, it will be rounded up to a
multiple of N+1 where N is the number of parity disks.  this way, the
space will always be re-usable.

-- 
Kjetil T. Homme
Redpill Linpro AS - Changing the game

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

Reply via email to