2008-03-10 06:08:19

by Jiang Guiqing

[permalink] [raw]
Subject: [PATCH] nfs_updatepage must not extend the write

hi,all

I think, when mounting nfs with sync option, nfs_updatepage must not
extend the write to cover the entire page.

Signed-off-by: Jiang Guiqing <[email protected]>

---
linux-2.6.25-rc4/fs/nfs/write.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/linux-2.6.25-rc4/fs/nfs/write.c b/linux-2.6.25-rc4/fs/nfs/write.c
index 80c61fd..94d6aaf 100644
--- a/linux-2.6.25-rc4/fs/nfs/write.c
+++ b/linux-2.6.25-rc4/fs/nfs/write.c
@@ -734,7 +734,8 @@ int nfs_updatepage(struct file *file, struct page *page,
*/
if (nfs_write_pageuptodate(page, inode) &&
inode->i_flock == NULL &&
- !(file->f_flags & O_SYNC)) {
+ !(file->f_flags & O_SYNC) &&
+ !(IS_SYNC(inode))) {
count = max(count + offset, nfs_page_length(page));
offset = 0;
}
--
1.5.3.8

Thanks.
-Jiang Guiqing