Skip to content

Commit da08e1e

Browse files
lxbszidryomov
authored andcommitted
ceph: add more debug info when decoding mdsmap
Show the laggy state. Signed-off-by: Xiubo Li <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Signed-off-by: Ilya Dryomov <[email protected]>
1 parent bd84fbc commit da08e1e

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

fs/ceph/mdsmap.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
158158
void *pexport_targets = NULL;
159159
struct ceph_timespec laggy_since;
160160
struct ceph_mds_info *info;
161+
bool laggy;
161162

162163
ceph_decode_need(p, end, sizeof(u64) + 1, bad);
163164
global_id = ceph_decode_64(p);
@@ -190,6 +191,7 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
190191
if (err)
191192
goto corrupt;
192193
ceph_decode_copy(p, &laggy_since, sizeof(laggy_since));
194+
laggy = laggy_since.tv_sec != 0 || laggy_since.tv_nsec != 0;
193195
*p += sizeof(u32);
194196
ceph_decode_32_safe(p, end, namelen, bad);
195197
*p += namelen;
@@ -207,10 +209,11 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
207209
*p = info_end;
208210
}
209211

210-
dout("mdsmap_decode %d/%d %lld mds%d.%d %s %s\n",
212+
dout("mdsmap_decode %d/%d %lld mds%d.%d %s %s%s\n",
211213
i+1, n, global_id, mds, inc,
212214
ceph_pr_addr(&addr),
213-
ceph_mds_state_name(state));
215+
ceph_mds_state_name(state),
216+
laggy ? "(laggy)" : "");
214217

215218
if (mds < 0 || state <= 0)
216219
continue;
@@ -230,8 +233,7 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
230233
info->global_id = global_id;
231234
info->state = state;
232235
info->addr = addr;
233-
info->laggy = (laggy_since.tv_sec != 0 ||
234-
laggy_since.tv_nsec != 0);
236+
info->laggy = laggy;
235237
info->num_export_targets = num_export_targets;
236238
if (num_export_targets) {
237239
info->export_targets = kcalloc(num_export_targets,
@@ -355,6 +357,8 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
355357
m->m_damaged = false;
356358
}
357359
bad_ext:
360+
dout("mdsmap_decode m_enabled: %d, m_damaged: %d, m_num_laggy: %d\n",
361+
!!m->m_enabled, !!m->m_damaged, m->m_num_laggy);
358362
*p = end;
359363
dout("mdsmap_decode success epoch %u\n", m->m_epoch);
360364
return m;

0 commit comments

Comments
 (0)