From 18fc8abdb7537bf841a65ce06a33977c109acc92 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Fri, 28 Oct 2016 21:52:50 -0400 Subject: ceph: unify dentry_operations instances Signed-off-by: Al Viro --- fs/ceph/inode.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'fs/ceph/inode.c') diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index bca1b49..29fcbee 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -1023,16 +1023,17 @@ static void update_dentry_lease(struct dentry *dentry, long unsigned half_ttl = from_time + (duration * HZ / 2) / 1000; struct inode *dir; - /* only track leases on regular dentries */ - if (dentry->d_op != &ceph_dentry_ops) - return; - spin_lock(&dentry->d_lock); dout("update_dentry_lease %p duration %lu ms ttl %lu\n", dentry, duration, ttl); /* make lease_rdcache_gen match directory */ dir = d_inode(dentry->d_parent); + + /* only track leases on regular dentries */ + if (ceph_snap(dir) != CEPH_NOSNAP) + goto out_unlock; + di->lease_shared_gen = ceph_inode(dir)->i_shared_gen; if (duration == 0) -- cgit v1.1 From ad5cb123fd0e4d929b36f0f9bbdec14cb6229ad7 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Fri, 28 Oct 2016 22:05:13 -0400 Subject: ceph: switch to use of ->d_init() Signed-off-by: Al Viro --- fs/ceph/inode.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'fs/ceph/inode.c') diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 29fcbee..9d0522b 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -1203,12 +1203,7 @@ retry_lookup: err = -ENOMEM; goto done; } - err = ceph_init_dentry(dn); - if (err < 0) { - dput(dn); - dput(parent); - goto done; - } + err = 0; } else if (d_really_is_positive(dn) && (ceph_ino(d_inode(dn)) != vino.ino || ceph_snap(d_inode(dn)) != vino.snap)) { @@ -1561,12 +1556,6 @@ retry_lookup: err = -ENOMEM; goto out; } - ret = ceph_init_dentry(dn); - if (ret < 0) { - dput(dn); - err = ret; - goto out; - } } else if (d_really_is_positive(dn) && (ceph_ino(d_inode(dn)) != vino.ino || ceph_snap(d_inode(dn)) != vino.snap)) { -- cgit v1.1