summaryrefslogtreecommitdiff
path: root/fs/nfs
diff options
context:
space:
mode:
authorFred Isaman <iisaman@netapp.com>2011-06-15 22:32:02 +0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-06-15 22:36:33 +0400
commit9e2dfdb3081edfae66a49013517e80dd8a0469fa (patch)
tree8b919ceb047bb75a4525ba64ba930026e4e148c4 /fs/nfs
parentea0ded748bdea78f9e2fefb571f7d6ce9edb4f89 (diff)
downloadlinux-9e2dfdb3081edfae66a49013517e80dd8a0469fa.tar.xz
nfs4.1: mark layout as bad on error path in _pnfs_return_layout
Signed-off-by: Fred Isaman <iisaman@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/pnfs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 730d4dbbaf68..539b94cb6c0f 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -652,6 +652,8 @@ _pnfs_return_layout(struct inode *ino)
lrp = kzalloc(sizeof(*lrp), GFP_KERNEL);
if (unlikely(lrp == NULL)) {
status = -ENOMEM;
+ set_bit(NFS_LAYOUT_RW_FAILED, &lo->plh_flags);
+ set_bit(NFS_LAYOUT_RO_FAILED, &lo->plh_flags);
put_layout_hdr(lo);
goto out;
}