diff options
author | Sage Weil <sage@newdream.net> | 2011-07-26 11:31:14 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-07-26 11:31:14 -0700 |
commit | 41b02e1f9bb87b07d792b64aaeb7af3d00d69cd2 (patch) | |
tree | 87c9524ff96cbff2ff29d659cbefd516b553ca1f /fs/ceph/mds_client.h | |
parent | 4f1772645296a230e04f5c53e79cfb6f841ce634 (diff) | |
download | linux-41b02e1f9bb87b07d792b64aaeb7af3d00d69cd2.tar.gz linux-41b02e1f9bb87b07d792b64aaeb7af3d00d69cd2.tar.bz2 linux-41b02e1f9bb87b07d792b64aaeb7af3d00d69cd2.zip |
ceph: explicitly reference rename old_dentry parent dir in request
We carry a pin on the parent directory for the rename source and dest
dentries. For the source it's r_locked_dir; we need to explicitly
reference the old_dentry parent as well, since the dentry's d_parent may
change between when the request was created and pinned and when it is
freed.
Reviewed-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/mds_client.h')
-rw-r--r-- | fs/ceph/mds_client.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h index 8a40f0636ba9..4bb239921dbd 100644 --- a/fs/ceph/mds_client.h +++ b/fs/ceph/mds_client.h @@ -171,6 +171,7 @@ struct ceph_mds_request { struct inode *r_inode; /* arg1 */ struct dentry *r_dentry; /* arg1 */ struct dentry *r_old_dentry; /* arg2: rename from or link from */ + struct inode *r_old_dentry_dir; /* arg2: old dentry's parent dir */ char *r_path1, *r_path2; struct ceph_vino r_ino1, r_ino2; |