From: Prasanna Kumar Kalever Date: Thu, 13 May 2021 07:09:25 +0000 (+0530) Subject: rbd-nbd: show per device cookie with list command X-Git-Tag: v16.2.8~69^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a857aab09672097b9ba5cb6fc0ec4239ed1cce27;p=ceph.git rbd-nbd: show per device cookie with list command [root@linux-vm1]# rbd-nbd list-mapped id pool namespace image snap device cookie 8133 rbd-pool image0 - /dev/nbd0 c704cb91-c6cf-466e-a335-0e935c0d5e47 Signed-off-by: Prasanna Kumar Kalever (cherry picked from commit efeb255d107075516c95f719f9a2ec9375d5bb2f) --- diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc index fa6eb985129..1870b67a982 100644 --- a/src/tools/rbd_nbd/rbd-nbd.cc +++ b/src/tools/rbd_nbd/rbd-nbd.cc @@ -808,6 +808,7 @@ public: continue; } ifs >> pid; + ifs.close(); // If the rbd-nbd is re-attached the pid may store garbage // here. We are sure this is the case when it is negative or @@ -912,6 +913,7 @@ private: c.devpath = cfg->devpath; } + c.cookie = get_cookie(cfg->devpath); *cfg = c; return 0; } @@ -1938,6 +1940,7 @@ static int do_list_mapped_devices(const std::string &format, bool pretty_format) tbl.define_column("image", TextTable::LEFT, TextTable::LEFT); tbl.define_column("snap", TextTable::LEFT, TextTable::LEFT); tbl.define_column("device", TextTable::LEFT, TextTable::LEFT); + tbl.define_column("cookie", TextTable::LEFT, TextTable::LEFT); } Config cfg; @@ -1951,6 +1954,7 @@ static int do_list_mapped_devices(const std::string &format, bool pretty_format) f->dump_string("image", cfg.imgname); f->dump_string("snap", cfg.snapname); f->dump_string("device", cfg.devpath); + f->dump_string("cookie", cfg.cookie); f->close_section(); } else { should_print = true; @@ -1958,7 +1962,7 @@ static int do_list_mapped_devices(const std::string &format, bool pretty_format) cfg.snapname = "-"; } tbl << cfg.pid << cfg.poolname << cfg.nsname << cfg.imgname - << cfg.snapname << cfg.devpath << TextTable::endrow; + << cfg.snapname << cfg.devpath << cfg.cookie << TextTable::endrow; } }