X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fafs%2Fwrite.c;h=065b4e10681ae2e449b700ad01c9d3f1c75cd9ab;hb=e2205a156f4dd727097f7f492bf03aa8920b0071;hp=28f37516c12600e682a1c78365bc67af6e6372f5;hpb=9d577b6a31a53a19d3b0fe414d645a61ef201846;p=linux-2.6 diff --git a/fs/afs/write.c b/fs/afs/write.c index 28f37516c1..065b4e1068 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -8,7 +8,7 @@ * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ - +#include #include #include #include @@ -206,7 +206,6 @@ int afs_prepare_write(struct file *file, struct page *page, _leave(" = %d [prep]", ret); return ret; } - SetPageUptodate(page); } try_again: @@ -311,8 +310,8 @@ int afs_commit_write(struct file *file, struct page *page, spin_unlock(&vnode->writeback_lock); } + SetPageUptodate(page); set_page_dirty(page); - if (PageDirty(page)) _debug("dirtied"); @@ -405,7 +404,7 @@ static int afs_write_back_from_locked_page(struct afs_writeback *wb, page = pages[loop]; if (page->index > wb->last) break; - if (TestSetPageLocked(page)) + if (!trylock_page(page)) break; if (!PageDirty(page) || page_private(page) != (unsigned long) wb) { @@ -511,9 +510,9 @@ int afs_writepage(struct page *page, struct writeback_control *wbc) /* * write a region of pages back to the server */ -int afs_writepages_region(struct address_space *mapping, - struct writeback_control *wbc, - pgoff_t index, pgoff_t end, pgoff_t *_next) +static int afs_writepages_region(struct address_space *mapping, + struct writeback_control *wbc, + pgoff_t index, pgoff_t end, pgoff_t *_next) { struct backing_dev_info *bdi = mapping->backing_dev_info; struct afs_writeback *wb;