Re: [PATCH 1/3] Preserve the dirty bit in init_page_buffers

Nick Piggin
2007-05-28T04:59:18Z

Nick Piggin wrote:
> Eric W. Biederman wrote:

>> When we initialize the ramdisk by writing to /dev/ram0 usually in
>> init/do_mounts_rd.c we don't allocate buffer heads but we do set
>> the dirty bit, and the page is in the page cache. So when we
>> later call getblk it reuses the same page and then calls
>> init_page_buffers.
>
>
> Hmm, so this would be a problem for block_dev.c as well, then?
> Because it would be possible to have a dirty block dev page
> have its buffers reclaimed and then reinitialised via
> init_page_buffers, AFAIKS.

Oh, no, try_to_free_buffers won't drop dirty buffers. However we
could still set_page_dirty of a block device page without buffers
via an mmap.

--
SUSE Labs, Novell Inc.