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.
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/