[lkml]   [2001]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] filemap_fdatasync & related changes
Chris Mason wrote:
> Hi guys,
> Just noticed the filemap_fdatasync code doesn't check the return value from
> writepage. Linus, would you take a patch that redirtied the page, puts it
> back onto the dirty list (at the tail), and unlocks the page when writepage
> returns 1?

It would be a lot more consistent if ->writepage always unlocks the page
(or starts the chain of events that eventually unlocks the page) even
when it fails.

> That would loop forever if the writepage func kept returning 1 though...I
> think that's what we want, unless someone like ramfs made a writepage func
> that always returned 1.

Even then it's ok. Without major surgery, those pages are going to loop
forever somewhere, it might as well be the inactive_dirty list. This is
going to mess up the mm balancing calculations, but of course only when
somebody is actually using ramfs. Maybe somebody will come up with a
tidy way of getting those pages entirely off the mm lists so they doing
just keep eating cpu cycles.

By the way, the whole concept of ramfs is really elegant - ramdisks are
just wrong, because all the ramdisk data in cache is in memory twice.
Solution: throw away the disk, keep the cache. Nice.

> For the reiserfs code, I'd like to be able to tell page_launder and
> filemap_fdatasync to try the page again later. reiserfs would clean and
> unlock the page if no io needs to be done at all.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:52    [W:0.130 / U:0.728 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site