]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: iput and dput in mdsc handle_lease
authorSage Weil <sage@newdream.net>
Wed, 2 Apr 2008 18:56:07 +0000 (11:56 -0700)
committerSage Weil <sage@newdream.net>
Wed, 2 Apr 2008 18:56:07 +0000 (11:56 -0700)
Conflicts:

src/TODO

src/TODO
src/kernel/mds_client.c

index d3226968713a8b53fdddfb794ae7a9652b5ee40e..83dc3ce242eeee315eeaee83f9905652adca0c9f 100644 (file)
--- 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...
index db130bc39dbabe6cc77eb6e68c80eadb4f2c55b0..6ad34264b21dd4e7bb7266937eaff6ba6b82942e 100644 (file)
@@ -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);