Re: [PATCH] mm: fix page_mkclean_one (was: 2.6.19 file content corruption on ext3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 20 Dec 2006 15:55:14 -0800 (PST)
Linus Torvalds <[email protected]> wrote:

> > > @@ -386,12 +399,8 @@ int invalidate_inode_pages2_range(struct address_space *mapping,
> > 
> > invalidate_complete_page2() is pretty gruesome.  We're handling the case
> > where someone went and redirtied the page (and hence its buffers) after the
> > invalidate_inode_pages2() caller (generic_file_direct_IO) synced it to
> > disk.
> > 
> > I'd prefer to just fail the direct-io if someone did that, but then
> > people's tests fail and they whine.
> 
> So with my change, afaik, we will just return EIO to the invalidate, and 
> do the write.

The write's already been done by this stage.

> Which should be ok. In fact, it appears to be the only 
> possibly valid thing to do.
> 
> It really boils down to that same thing: if you remove the dirty bit, 
> there is NO CONCEIVABLE GOOD THING YOU CAN DO EXCEPT FOR:
>  - do the damn IO already ("clear_page_dirty_for_io()")
>  - truncate the page (unmap and destroy it both from page cache AND from 
>    any user-visible filesystem cases)

There's also redirty_page_for_writepage().

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux