diff options
author | David Howells <dhowells@redhat.com> | 2007-05-16 02:57:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-17 00:19:15 -0400 |
commit | bb33ed6345d6156484f39089aa8b52f44ce76609 (patch) | |
tree | c27f2b0f62efceca5ab2289b524e688ec1c9d0f0 /fs/afs | |
parent | 1800782016fda6fbc9990a0227fec581070f23af (diff) |
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>
Diffstat (limited to 'fs/afs')
-rw-r--r-- | fs/afs/write.c | 3 |
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, | |||
206 | _leave(" = %d [prep]", ret); | 206 | _leave(" = %d [prep]", ret); |
207 | return ret; | 207 | return ret; |
208 | } | 208 | } |
209 | SetPageUptodate(page); | ||
210 | } | 209 | } |
211 | 210 | ||
212 | try_again: | 211 | try_again: |
@@ -311,8 +310,8 @@ int afs_commit_write(struct file *file, struct page *page, | |||
311 | spin_unlock(&vnode->writeback_lock); | 310 | spin_unlock(&vnode->writeback_lock); |
312 | } | 311 | } |
313 | 312 | ||
313 | SetPageUptodate(page); | ||
314 | set_page_dirty(page); | 314 | set_page_dirty(page); |
315 | |||
316 | if (PageDirty(page)) | 315 | if (PageDirty(page)) |
317 | _debug("dirtied"); | 316 | _debug("dirtied"); |
318 | 317 | ||