From 28884d90bbfb87c80597d88b5f08728d1db3b12f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 21 Dec 2009 11:42:18 -0800 Subject: [PATCH] --- yaml --- r: 188660 b: refs/heads/master c: c4a29f26d50bea65809ca670992108a33aa2efa6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ceph/inode.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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;