Kunal Kushwaha [off-list ref] writes:
Hi Goswin,
My understanding of chunk size is that, it is minimum unit of data
that is used for read/write.
Chunk size defines, amount of data written on one disk after breaking
it in equal no of chunks.
Chunk size = Stripe size / (disks in array - parity disks)
so for raid 5, chunk_size = Stripe_Size / (total_disks -1)
and for raid 6, chunk_size = Stripe_Size / total_disks -2)
and parity is also written in terms of chunk size.
Now considering a case where IO request came for complete 1 stripe, we
need buffer, for 1 stripe, but since we allocated 1 page per chunk,
instead of 64k buffer we have only 4k buffer, So how this is handled?
No. read/write are generaly handled on a page size level, which almost
always means 4k. If you think about it you can easily split a chunk
into 4k bits and handle each one independently.
MfG
Goswin