On Wed, 2006-04-19 at 01:29 +0200, Iustin Pop wrote:
> 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.
so one step further. if i seek to somewhere like LBA=1000, and write
some data, then come back and read this LBA 8, what i got? not EOF
right?
>
> At least, that's how I understand thing works :)
>
> Iustin
|