From: Sage Weil Date: Wed, 2 Apr 2008 18:56:07 +0000 (-0700) Subject: kclient: iput and dput in mdsc handle_lease X-Git-Tag: v0.2~224^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=223f3d6c0a9c4d8bcf4a107e7d405cbbbe87d8dc;p=ceph.git kclient: iput and dput in mdsc handle_lease Conflicts: src/TODO --- diff --git a/src/TODO b/src/TODO index d3226968713..83dc3ce242e 100644 --- a/src/TODO +++ b/src/TODO @@ -16,6 +16,7 @@ userspace client - reference count lease validations on path lookup? kernel client +- setattr should check lease before believing something is a no-op - use list_for_each_safe for caps removal? - revisit cap removal locking, make sure it's okay.... - trim expired leases so we don't indefinitely hold dcache refs... diff --git a/src/kernel/mds_client.c b/src/kernel/mds_client.c index db130bc39db..6ad34264b21 100644 --- a/src/kernel/mds_client.c +++ b/src/kernel/mds_client.c @@ -1449,9 +1449,11 @@ void ceph_mdsc_handle_lease(struct ceph_mds_client *mdsc, struct ceph_msg *msg) goto release; ceph_revoke_dentry_lease(dentry); dout(10, "lease revoked on dentry %p\n", dentry); + dput(dentry); } release: + iput(inode); dout(10, "sending release\n"); h->action = CEPH_MDS_LEASE_RELEASE; ceph_msg_get(msg);