From: David Howells 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 Signed-off-by: Andrew Morton --- fs/afs/write.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN fs/afs/write.c~afs-fix-afs_prepare_write fs/afs/write.c --- a/fs/afs/write.c~afs-fix-afs_prepare_write +++ a/fs/afs/write.c @@ -206,7 +206,6 @@ int afs_prepare_write(struct file *file, _leave(" = %d [prep]", ret); return ret; } - SetPageUptodate(page); } try_again: @@ -311,8 +310,8 @@ int afs_commit_write(struct file *file, spin_unlock(&vnode->writeback_lock); } + SetPageUptodate(page); set_page_dirty(page); - if (PageDirty(page)) _debug("dirtied"); _