From ffce6999d2de1f6100728547762dd1510f71d0ef Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 5 Mar 2009 14:26:54 -0800 Subject: [PATCH] kclient: only remember leases on regular dentries ...not for snapdir or snap dentries, which don't have matching d_release methods. --- src/kernel/inode.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kernel/inode.c b/src/kernel/inode.c index df6f81caf1b3a..2cf9cc0ec32f4 100644 --- a/src/kernel/inode.c +++ b/src/kernel/inode.c @@ -654,6 +654,10 @@ static void update_dentry_lease(struct dentry *dentry, long unsigned duration = le32_to_cpu(lease->duration_ms); long unsigned ttl = from_time + (duration * HZ) / 1000; + /* only track leases on regular dentries */ + if (dentry->d_op != &ceph_dentry_ops) + return; + dout(10, "update_dentry_lease %p mask %d duration %lu ms ttl %lu\n", dentry, le16_to_cpu(lease->mask), duration, ttl); if (lease->mask == 0) { -- 2.39.5