On Tue, Apr 18, 2006 at 07:06:32PM -0400, Ming Zhang wrote:
> ;) if that block is preserved already, what happen when there is a read
> on that LBA? read return 0 or read from preserved block?
> assume i write LBA 0 4KB and then ext2 preserve LBA 8-16 for this file,
> then a read on that will return what?
So - you have a new file. You write 4KB at offset 0. ext2, behind your
back, as an optimisation, will pre-allocate space the next three blocks
(from 4097 to 16385).
And now you try to read them. You will not get 0, you will not get
random data, you will get EOF. Simple as that - preallocation is an
optimisation which is transparent to the userspace. Since you did not
write that data, you are not able to read it. Not as 0, not as random.
At least, that's how I understand thing works :)