From c57f0d01902da4ab166bf6c0fded38f685d9dd1d Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Mon, 21 Sep 2009 17:06:14 -0700 Subject: [PATCH] uclient: encode_cap_releases shouldn't update caps if inode isn't in the cache --- src/client/Client.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index e649fc0b7b45f..484e9144d4bb8 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -973,22 +973,22 @@ void Client::encode_dentry_release(Dentry *dn, MClientRequest *req, void Client::encode_cap_releases(MetaRequest *req, int mds) { dout(20) << "encode_cap_releases enter (req: " << req << ", mds: " << mds << ")" << dendl; - if (req->inode_drop) + if (req->inode_drop && req->inode) encode_inode_release(req->inode, req->request, mds, req->inode_drop, req->inode_unless); - if (req->old_inode_drop) + if (req->old_inode_drop && req->old_inode) encode_inode_release(req->old_inode, req->request, mds, req->old_inode_drop, req->old_inode_unless); - if (req->dentry_drop) + if (req->dentry_drop && req->dentry) encode_dentry_release(req->dentry, req->request, mds, req->dentry_drop, req->dentry_unless); - if (req->old_dentry_drop) + if (req->old_dentry_drop && req->old_dentry) encode_dentry_release(req->old_dentry, req->request, mds, req->old_dentry_drop, req->old_dentry_unless); -- 2.39.5