diff --git a/[refs] b/[refs] index 45dcc1dcab0b..acded9cc6eda 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2baba25019ec564cd247af74013873d69a0b8190 +refs/heads/master: c4a29f26d50bea65809ca670992108a33aa2efa6 diff --git a/trunk/fs/ceph/inode.c b/trunk/fs/ceph/inode.c index db684686f48a..8774b2811597 100644 --- a/trunk/fs/ceph/inode.c +++ b/trunk/fs/ceph/inode.c @@ -939,6 +939,10 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req, req->r_old_dentry->d_name.len, req->r_old_dentry->d_name.name, dn, dn->d_name.len, dn->d_name.name); + /* ensure target dentry is invalidated, despite + rehashing bug in vfs_rename_dir */ + dn->d_time = jiffies; + ceph_dentry(dn)->lease_shared_gen = 0; /* take overwritten dentry's readdir offset */ ceph_dentry(req->r_old_dentry)->offset = ceph_dentry(dn)->offset;