summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-12-05 06:35:42 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-12-06 16:46:40 +0100
commite507d9ebbb2d5db5948a6fb3c33f015d60708d19 (patch)
tree193bffc35de3d7592e54f2124c49989e78543910
parentNFS: Fix nfs_release_page (diff)
downloadlinux-e507d9ebbb2d5db5948a6fb3c33f015d60708d19.tar.xz
linux-e507d9ebbb2d5db5948a6fb3c33f015d60708d19.zip
NFS: Ensure the inode is marked as dirty if we break out of nfs_wb_all()
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/write.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index bd4dff9dbd69..a4c9df67a3ae 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1469,6 +1469,7 @@ int nfs_wb_all(struct inode *inode)
if (ret >= 0)
return 0;
out:
+ __mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
return ret;
}
@@ -1493,6 +1494,7 @@ int nfs_sync_mapping_range(struct address_space *mapping, loff_t range_start, lo
if (ret >= 0)
return 0;
out:
+ __mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
return ret;
}
@@ -1519,6 +1521,7 @@ int nfs_wb_page_priority(struct inode *inode, struct page *page, int how)
if (ret >= 0)
return 0;
out:
+ __mark_inode_dirty(inode, I_DIRTY_PAGES);
return ret;
}