On Thu, 4 Jan 2001, Chris Mason wrote:
>
> The page dirty bit is not reset.
> the page is never unlocked.
> 
> So how about something like this in filemap_fdatasync

I'd rather just change the rule that "writepage()" will clear the dirty
bit itself and always unlock (and "1" just to inform the upper layers that
the page cannot be thrown away).

> And then, in filemap_fdatawait:
> 
> list_del(&page->list) ;
> if (PageDirty(page))
>     list_add(&page->list, &mapping->dirty_pages) ;
> else
>     list_add(&page->list, &mapping->clean_pages) ;

Can't be done. The thing depends on the fact that it always depletes the
dirty list. The whole fdatasync() logic hinges on the fact that it will
always move pages "down" - otherwise it will never complete.

                Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to