mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
libceph: print fsid and epoch with osd id
Print fsid and epoch in libceph log messages to distinct from which each message come. [ idryomov: don't bother with gid for now, print epoch instead ] Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com> Signed-off-by: Daichi Mukai <daichi-mukai@cybozu.co.jp> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
fc54cb8d87
commit
842d6b019b
1 changed files with 23 additions and 7 deletions
|
@ -11,6 +11,22 @@
|
||||||
#include <linux/crush/hash.h>
|
#include <linux/crush/hash.h>
|
||||||
#include <linux/crush/mapper.h>
|
#include <linux/crush/mapper.h>
|
||||||
|
|
||||||
|
static __printf(2, 3)
|
||||||
|
void osdmap_info(const struct ceph_osdmap *map, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
struct va_format vaf;
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
vaf.fmt = fmt;
|
||||||
|
vaf.va = &args;
|
||||||
|
|
||||||
|
printk(KERN_INFO "%s (%pU e%u): %pV", KBUILD_MODNAME, &map->fsid,
|
||||||
|
map->epoch, &vaf);
|
||||||
|
|
||||||
|
va_end(args);
|
||||||
|
}
|
||||||
|
|
||||||
char *ceph_osdmap_state_str(char *str, int len, u32 state)
|
char *ceph_osdmap_state_str(char *str, int len, u32 state)
|
||||||
{
|
{
|
||||||
if (!len)
|
if (!len)
|
||||||
|
@ -1566,7 +1582,7 @@ static int decode_new_primary_affinity(void **p, void *end,
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
pr_info("osd%d primary-affinity 0x%x\n", osd, aff);
|
osdmap_info(map, "osd%d primary-affinity 0x%x\n", osd, aff);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1864,9 +1880,9 @@ static int decode_new_up_state_weight(void **p, void *end, u8 struct_v,
|
||||||
osd = ceph_decode_32(p);
|
osd = ceph_decode_32(p);
|
||||||
w = ceph_decode_32(p);
|
w = ceph_decode_32(p);
|
||||||
BUG_ON(osd >= map->max_osd);
|
BUG_ON(osd >= map->max_osd);
|
||||||
pr_info("osd%d weight 0x%x %s\n", osd, w,
|
osdmap_info(map, "osd%d weight 0x%x %s\n", osd, w,
|
||||||
w == CEPH_OSD_IN ? "(in)" :
|
w == CEPH_OSD_IN ? "(in)" :
|
||||||
(w == CEPH_OSD_OUT ? "(out)" : ""));
|
(w == CEPH_OSD_OUT ? "(out)" : ""));
|
||||||
map->osd_weight[osd] = w;
|
map->osd_weight[osd] = w;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1898,10 +1914,10 @@ static int decode_new_up_state_weight(void **p, void *end, u8 struct_v,
|
||||||
BUG_ON(osd >= map->max_osd);
|
BUG_ON(osd >= map->max_osd);
|
||||||
if ((map->osd_state[osd] & CEPH_OSD_UP) &&
|
if ((map->osd_state[osd] & CEPH_OSD_UP) &&
|
||||||
(xorstate & CEPH_OSD_UP))
|
(xorstate & CEPH_OSD_UP))
|
||||||
pr_info("osd%d down\n", osd);
|
osdmap_info(map, "osd%d down\n", osd);
|
||||||
if ((map->osd_state[osd] & CEPH_OSD_EXISTS) &&
|
if ((map->osd_state[osd] & CEPH_OSD_EXISTS) &&
|
||||||
(xorstate & CEPH_OSD_EXISTS)) {
|
(xorstate & CEPH_OSD_EXISTS)) {
|
||||||
pr_info("osd%d does not exist\n", osd);
|
osdmap_info(map, "osd%d does not exist\n", osd);
|
||||||
ret = set_primary_affinity(map, osd,
|
ret = set_primary_affinity(map, osd,
|
||||||
CEPH_OSD_DEFAULT_PRIMARY_AFFINITY);
|
CEPH_OSD_DEFAULT_PRIMARY_AFFINITY);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -1931,7 +1947,7 @@ static int decode_new_up_state_weight(void **p, void *end, u8 struct_v,
|
||||||
|
|
||||||
dout("%s osd%d addr %s\n", __func__, osd, ceph_pr_addr(&addr));
|
dout("%s osd%d addr %s\n", __func__, osd, ceph_pr_addr(&addr));
|
||||||
|
|
||||||
pr_info("osd%d up\n", osd);
|
osdmap_info(map, "osd%d up\n", osd);
|
||||||
map->osd_state[osd] |= CEPH_OSD_EXISTS | CEPH_OSD_UP;
|
map->osd_state[osd] |= CEPH_OSD_EXISTS | CEPH_OSD_UP;
|
||||||
map->osd_addr[osd] = addr;
|
map->osd_addr[osd] = addr;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue