diff options
author | Matt Benjamin <matt@linuxbox.com> | 2013-10-08 16:49:23 -0400 |
---|---|---|
committer | Matt Benjamin <matt@linuxbox.com> | 2013-10-08 16:49:23 -0400 |
commit | 50cad2896dac0d8f4125297bd7cf7ba219a95827 (patch) | |
tree | 25c04c5f4c2f9bf339b9374a8b15586875c905c3 | |
parent | 09f4df02a866230b19539b03061f4abc5ab47ae2 (diff) | |
download | ceph-50cad2896dac0d8f4125297bd7cf7ba219a95827.tar.gz |
Don't forget an inode not found in cache.wip-libcephfs-emp-rb
This could be working around a prematurely released inode,
but the result can stably save, expand, configure, and
build linux-3.11.4 (stability).
Signed-off-by: Matt Benjamin <matt@linuxbox.com>
-rw-r--r-- | src/client/fuse_ll.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc index 92a6beab762..6f7133cda1d 100644 --- a/src/client/fuse_ll.cc +++ b/src/client/fuse_ll.cc @@ -117,7 +117,10 @@ static void fuse_ll_forget(fuse_req_t req, fuse_ino_t ino, long unsigned nlookup) { CephFuse::Handle *cfuse = (CephFuse::Handle *)fuse_req_userdata(req); - cfuse->client->ll_forget(cfuse->iget(ino), nlookup+1); + Inode *in = cfuse->iget(ino); + if (in) { + cfuse->client->ll_forget(in, nlookup+1); + } fuse_reply_none(req); } |