summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells2007-05-16 08:57:04 +0200
committerLinus Torvalds2007-05-17 06:19:15 +0200
commitbb33ed6345d6156484f39089aa8b52f44ce76609 (patch)
treec27f2b0f62efceca5ab2289b524e688ec1c9d0f0
parentslub: don't confuse ctor and dtor (diff)
downloadkernel-qcow2-linux-bb33ed6345d6156484f39089aa8b52f44ce76609.tar.gz
kernel-qcow2-linux-bb33ed6345d6156484f39089aa8b52f44ce76609.tar.xz
kernel-qcow2-linux-bb33ed6345d6156484f39089aa8b52f44ce76609.zip
AFS: Fix afs_prepare_write()
afs_prepare_write() should not mark a page up to date if it only partially fills it in, in expectation of the caller filling in the rest prior to calling commit_write(). commit_write(), however, should mark the page up to date. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/afs/write.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/afs/write.c b/fs/afs/write.c
index 28f37516c126..a03b92a0fe1d 100644
--- a/fs/afs/write.c
+++ b/fs/afs/write.c
@@ -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");