Re: Question regarding concurrent accesses through block device and fs

From: Francis Moreau
Date: Sun Mar 01 2009 - 09:43:19 EST



[ Sorry for being long to answer but I was off, I'm slow and there are
a lot of complex code to dig out ! ]

Nick Piggin <nickpiggin@xxxxxxxxxxxx> writes:

> On Saturday 21 February 2009 01:10:24 Francis Moreau wrote:

[...]

>> - looking at unmap_underlying_metadata(), there's no code to deal with
>> meta data buffers. It gets the buffer and unmap it whatever the type of
>> data it contains.
>
> That's why I say it only really works for buffer cache used by the same
> filesystem that is now known to be unused.
>

hum, I still don't know what you mean by this, sorry to be slow.


[...]

>> What am I missing ?
>
> That we might complete the write of the new buffer before the
> old buffer is finished writing out?

Ah yes actually I realize that I don't know where and when the inode
blocks are effectively written to the disk !

It seems that write_inode(), called after data are commited to the
disk, only marks the inode buffers as dirty but it performs no IO (at
least it looks so for ext2 when its 'do_sync' parameter is 0 which is
the case when this method is called by write_inode()).

Could you enlight me one more time ?

Thanks
--
Francis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/