aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/debugfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ceph/debugfs.c')
-rw-r--r--fs/ceph/debugfs.c34
1 files changed, 32 insertions, 2 deletions
diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index 98365e74cb4a..777f6ceb5259 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -124,18 +124,48 @@ static int mdsc_show(struct seq_file *s, void *p)
124 return 0; 124 return 0;
125} 125}
126 126
127static int caps_show_cb(struct inode *inode, struct ceph_cap *cap, void *p)
128{
129 struct seq_file *s = p;
130
131 seq_printf(s, "0x%-17lx%-17s%-17s\n", inode->i_ino,
132 ceph_cap_string(cap->issued),
133 ceph_cap_string(cap->implemented));
134 return 0;
135}
136
127static int caps_show(struct seq_file *s, void *p) 137static int caps_show(struct seq_file *s, void *p)
128{ 138{
129 struct ceph_fs_client *fsc = s->private; 139 struct ceph_fs_client *fsc = s->private;
130 int total, avail, used, reserved, min; 140 struct ceph_mds_client *mdsc = fsc->mdsc;
141 int total, avail, used, reserved, min, i;
131 142
132 ceph_reservation_status(fsc, &total, &avail, &used, &reserved, &min); 143 ceph_reservation_status(fsc, &total, &avail, &used, &reserved, &min);
133 seq_printf(s, "total\t\t%d\n" 144 seq_printf(s, "total\t\t%d\n"
134 "avail\t\t%d\n" 145 "avail\t\t%d\n"
135 "used\t\t%d\n" 146 "used\t\t%d\n"
136 "reserved\t%d\n" 147 "reserved\t%d\n"
137 "min\t%d\n", 148 "min\t\t%d\n\n",
138 total, avail, used, reserved, min); 149 total, avail, used, reserved, min);
150 seq_printf(s, "ino issued implemented\n");
151 seq_printf(s, "-----------------------------------------------\n");
152
153 mutex_lock(&mdsc->mutex);
154 for (i = 0; i < mdsc->max_sessions; i++) {
155 struct ceph_mds_session *session;
156
157 session = __ceph_lookup_mds_session(mdsc, i);
158 if (!session)
159 continue;
160 mutex_unlock(&mdsc->mutex);
161 mutex_lock(&session->s_mutex);
162 ceph_iterate_session_caps(session, caps_show_cb, s);
163 mutex_unlock(&session->s_mutex);
164 ceph_put_mds_session(session);
165 mutex_lock(&mdsc->mutex);
166 }
167 mutex_unlock(&mdsc->mutex);
168
139 return 0; 169 return 0;
140} 170}
141 171