diff options
author | Sage Weil <sage@inktank.com> | 2013-02-05 16:40:09 -0500 |
---|---|---|
committer | Yan, Zheng <zheng.z.yan@intel.com> | 2014-04-02 22:33:53 -0400 |
commit | 844d87c3329980e2b1849cf53205d7fa965d8995 (patch) | |
tree | 46e524da39d068d18d03502323871099144dec4c /fs/ceph/debugfs.c | |
parent | 752c8bdcfe88f27a17c5c9264df928fd145a4b30 (diff) |
ceph: do not assume r_old_dentry[_dir] always set together
Do not assume that r_old_dentry implies that r_old_dentry_dir is also
true. Separate out the ref cleanup and make the debugs dump behave when
it is NULL.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com>
Diffstat (limited to 'fs/ceph/debugfs.c')
-rw-r--r-- | fs/ceph/debugfs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c index 6d59006bfa27..8c6f313db3ea 100644 --- a/fs/ceph/debugfs.c +++ b/fs/ceph/debugfs.c | |||
@@ -102,7 +102,8 @@ static int mdsc_show(struct seq_file *s, void *p) | |||
102 | path = NULL; | 102 | path = NULL; |
103 | spin_lock(&req->r_old_dentry->d_lock); | 103 | spin_lock(&req->r_old_dentry->d_lock); |
104 | seq_printf(s, " #%llx/%.*s (%s)", | 104 | seq_printf(s, " #%llx/%.*s (%s)", |
105 | ceph_ino(req->r_old_dentry_dir), | 105 | req->r_old_dentry_dir ? |
106 | ceph_ino(req->r_old_dentry_dir) : 0, | ||
106 | req->r_old_dentry->d_name.len, | 107 | req->r_old_dentry->d_name.len, |
107 | req->r_old_dentry->d_name.name, | 108 | req->r_old_dentry->d_name.name, |
108 | path ? path : ""); | 109 | path ? path : ""); |