]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Rename downgrade_wal_to_v1 => revert_wal_to_plain 62224/head
authorAdam Kupczyk <akupczyk@ibm.com>
Fri, 28 Mar 2025 19:16:53 +0000 (19:16 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Fri, 28 Mar 2025 19:16:53 +0000 (19:16 +0000)
+ relocated config bluefs_wal_envelope_mode close to other bluefs
  configs

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
doc/man/8/ceph-bluestore-tool.rst
src/common/options/global.yaml.in
src/os/bluestore/BlueFS.cc
src/os/bluestore/BlueFS.h
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h
src/os/bluestore/bluestore_tool.cc
src/test/objectstore/test_bluefs.cc

index 213eb059249871a78d9da22f97ba9356ff4de035..caf90a990ff40cec0300a8629cef03b50b63b9eb 100644 (file)
@@ -34,7 +34,7 @@ Synopsis
 | **ceph-bluestore-tool** show-sharding --path *osd path*
 | **ceph-bluestore-tool** trim --path *osd path*
 | **ceph-bluestore-tool** zap-device --dev *dev path*
-| **ceph-bluestore-tool** downgrade-wal-to-v1 --path *osd path*
+| **ceph-bluestore-tool** revert-wal-to-plain --path *osd path*
 
 
 Description
@@ -166,10 +166,10 @@ Commands
 
    Zeros all device label locations. This effectively makes device appear empty.
 
-:command: `downgrade-wal-to-v1` --path *osd path*
+:command: `revert-wal-to-plain` --path *osd path*
 
-   Changes WAL disk format from the new version to the legacy one. Useful for downgrades, or if you
-   might want to disable this new feature (bluefs_wal_v2).
+   Changes WAL files from envelope mode to the legacy plain mode.
+   Useful for downgrades, or if you might want to disable this new feature (bluefs_wal_envelope_mode).
 
 Options
 =======
index e6c10714548b7c6c9ec307e2f11105091797cc68..0f40bdce80fca1c8ecc72c4bb27b92e4fe42807b 100644 (file)
@@ -4248,6 +4248,15 @@ options:
   level: advanced
   default: false
   with_legacy: true
+- name: bluefs_wal_envelope_mode
+  type: bool
+  level: advanced
+  desc: Enables a faster backend in BlueFS for WAL writes.
+  long_desc: In envelope mode BlueFS files do not need to update metadata. When applied to RocksDB WAL files,
+    it reduces by ~50% the amount of fdatasync syscalls.
+    Downgrading from an envelope mode to legacy mode requires `ceph-bluestore-tool --command downgrade-wal-to-v1`.
+  default: true
+  with_legacy: false
 - name: bluefs_allocator
   type: str
   level: dev
@@ -6718,12 +6727,3 @@ options:
   desc: Enables exception throwing instead of process abort on transaction submission error.
   default: false
   with_legacy: false
-- name: bluefs_wal_envelope_mode
-  type: bool
-  level: advanced
-  desc: Enables a faster backend in BlueFS for WAL writes.
-  long_desc: In envelope mode BlueFS files do not need to update metadata. When applied to RocksDB WAL files,
-    it reduces by ~50% the amount of fdatasync syscalls.
-    Downgrading from an envelope mode to legacy mode requires `ceph-bluestore-tool --command downgrade-wal-to-v1`.
-  default: true
-  with_legacy: false
index 440cba38ff7575f6a73559740902849166e63c5f..c34abdcb8c1a038a14ff082b5c3ca93822655ffc 100644 (file)
@@ -2215,7 +2215,7 @@ int BlueFS::device_migrate_to_new(
   return 0;
 }
 
-int BlueFS::downgrade_wal_to_v1(
+int BlueFS::revert_wal_to_plain(
     const std::string& dir,
     const std::string& name)
 {
@@ -2225,7 +2225,7 @@ int BlueFS::downgrade_wal_to_v1(
   FileReader* reader = nullptr;
   // we use dir for wals and name like wal; should get proper hint
   r = open_for_write(dir, tmp_name, &writer, false);
-  // use normal v1 write path by marking node type to legacy
+  // use normal legacy write path by marking node type to plain
   writer->file->fnode.encoding = bluefs_node_encoding::PLAIN;
   ceph_assert(r == 0);
   r = open_for_read(dir, name, &reader);
@@ -2250,7 +2250,7 @@ int BlueFS::downgrade_wal_to_v1(
   return 0;
 }
 
-int BlueFS::downgrade_wal_to_v1()
+int BlueFS::revert_wal_to_plain()
 {
   string wal_dir("db.wal");
   auto dir_it = nodes.dir_map.find(wal_dir);
@@ -2263,11 +2263,11 @@ int BlueFS::downgrade_wal_to_v1()
   auto dir_copy = dir_it->second->file_map;
   for (const auto& [file_name, file] : dir_copy) {
     if(file->envelope_mode()) {
-      downgrade_wal_to_v1(wal_dir, file_name);
+      revert_wal_to_plain(wal_dir, file_name);
       sync_metadata(true);
-      dout(10) << __func__ << fmt::format(" {} v2=>v1", file_name) << dendl;
+      dout(10) << __func__ << fmt::format(" {} envelope mode=>plain mode", file_name) << dendl;
     } else {
-      dout(10) << __func__ << fmt::format(" {} in v1", file_name) << dendl;
+      dout(10) << __func__ << fmt::format(" {} in plain mode", file_name) << dendl;
     }
   }
 
index a7459b6cf8940e9050113d96eaadf9cf5c73739b..d16ed002ee4d63dfee13d2f2c43a8bfa24c19641 100644 (file)
@@ -801,7 +801,7 @@ public:
     const std::set<int>& devs_source,
     int dev_target,
     const bluefs_layout_t& layout);
-  int downgrade_wal_to_v1();
+  int revert_wal_to_plain();
 
   uint64_t get_used();
   uint64_t get_block_device_size(unsigned id);
@@ -930,7 +930,7 @@ private:
                               size_t read_len,
                               bufferlist* bl);
   void _check_vselector_LNF();
-  int downgrade_wal_to_v1(
+  int revert_wal_to_plain(
     const std::string& dir,
     const std::string& name
   );
index 2a1550d370e7c86a1f4bcaf7e963e8e9887f47f1..7f52140a3891872f1a6367b138e7d89742270294 100644 (file)
@@ -10836,13 +10836,13 @@ int BlueStore::_fsck(BlueStore::FSCKDepth depth, bool repair)
   return _fsck_on_open(depth, repair);
 }
 
-int BlueStore::downgrade_wal_to_v1() {
+int BlueStore::revert_wal_to_plain() {
   int r = cold_open();
   if (r != 0) {
     dout(1) << __func__ << "failed to open db / allocator" << dendl;
     goto out;
   }
-  bluefs->downgrade_wal_to_v1();
+  bluefs->revert_wal_to_plain();
   cold_close();
   out:
   return r;
index b60dbdddd5b7dc44ef44769892e13335ca5ac04a..cfe8755f50fdb770ac8f2d949a537b8491adf3bb 100644 (file)
@@ -3177,7 +3177,7 @@ public:
   int repair(bool deep) override {
     return _fsck(deep ? FSCK_DEEP : FSCK_REGULAR, true);
   }
-  int downgrade_wal_to_v1();
+  int revert_wal_to_plain();
   int quick_fix() override {
     return _fsck(FSCK_SHALLOW, true);
   }
index 93c5a712ee4d96524c1acc496a3d71175db00f82..9fff0a08278da6e3e915caeeb5dd6865d9e41fef 100644 (file)
@@ -369,7 +369,7 @@ int main(int argc, char **argv)
         "show-sharding, "
         "trim, "
         "zap-device, "
-        "downgrade-wal-to-v1"
+        "revert-wal-to-plain"
     );
   po::options_description po_all("All options");
   po_all.add(po_options).add(po_positional);
@@ -486,7 +486,10 @@ int main(int argc, char **argv)
     }
   }
 
-  if (action == "fsck" || action == "repair" || action == "quick-fix" || action == "allocmap" || action == "qfsck" || action == "restore_cfb" || action == "migrate-wal-to-v1") {
+  if (action == "fsck" || action == "repair" ||
+      action == "quick-fix" || action == "allocmap" ||
+      action == "qfsck" || action == "restore_cfb" ||
+      action == "revert-wal-to-plain") {
     if (path.empty()) {
       cerr << "must specify bluestore path" << std::endl;
       exit(EXIT_FAILURE);
@@ -702,7 +705,7 @@ int main(int argc, char **argv)
   else if (action == "fsck" ||
       action == "repair" ||
       action == "quick-fix" ||
-      action == "downgrade-wal-to-v1") {
+      action == "revert-wal-to-plain") {
     validate_path(cct.get(), path, false);
     BlueStore bluestore(cct.get(), path);
     int r;
@@ -710,8 +713,8 @@ int main(int argc, char **argv)
       r = bluestore.fsck(fsck_deep);
     } else if (action == "repair") {
       r = bluestore.repair(fsck_deep);
-    } else if (action == "downgrade-wal-to-v1") {
-      r = bluestore.downgrade_wal_to_v1();
+    } else if (action == "revert-wal-to-plain") {
+      r = bluestore.revert_wal_to_plain();
     } else {
       r = bluestore.quick_fix();
     }
index 57892d4fcd2176e1ac0c107a9fe49e1f91f8f153..2193157cc8a246fa3e44c47b06a0fe252b0aaf69 100644 (file)
@@ -1141,7 +1141,7 @@ TEST(BlueFS, test_wal_migrate) {
   // WAL files don't update internal extents while writing to save memory, only on _replay
   fs.umount();
   fs.mount();
-  fs.downgrade_wal_to_v1();
+  fs.revert_wal_to_plain();
 
   BlueFS::FileReader *reader;
   ASSERT_EQ(0, fs.open_for_read(dir_db, wal_file, &reader));