From: Igor Fedotov Date: Thu, 24 May 2018 13:32:01 +0000 (+0300) Subject: tools/ceph-bluestore-tool: add support for proper setting size, btime, X-Git-Tag: v13.2.3~157^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=aefadf272a9c8e6a30ad7822846e0a2bab908bc3;p=ceph.git tools/ceph-bluestore-tool: add support for proper setting size, btime, description, osd_uuid fields Signed-off-by: Igor Fedotov (cherry picked from commit ffac450da5d6e09cf14b8363b35f21819b48f38b) --- diff --git a/src/os/bluestore/bluestore_tool.cc b/src/os/bluestore/bluestore_tool.cc index bc733735977f..fc21750542ec 100644 --- a/src/os/bluestore/bluestore_tool.cc +++ b/src/os/bluestore/bluestore_tool.cc @@ -421,7 +421,22 @@ int main(int argc, char **argv) << cpp_strerror(r) << std::endl; exit(EXIT_FAILURE); } - label.meta[key] = value; + if (key == "size") { + label.size = strtoull(value.c_str(), nullptr, 10); + } else if (key =="osd_uuid") { + label.osd_uuid.parse(value.c_str()); + } else if (key =="btime") { + uint64_t epoch; + uint64_t nsec; + int r = utime_t::parse_date(value.c_str(), &epoch, &nsec); + if (r == 0) { + label.btime = utime_t(epoch, nsec); + } + } else if (key =="description") { + label.description = value; + } else { + label.meta[key] = value; + } r = BlueStore::_write_bdev_label(cct.get(), devs.front(), label); if (r < 0) { cerr << "unable to write label for " << devs.front() << ": "