Skip to content

Commit 014528d

Browse files
committed
os/bluestore: Rename downgrade_wal_to_v1 => revert_wal_to_plain
+ relocated config bluefs_wal_envelope_mode close to other bluefs configs Signed-off-by: Adam Kupczyk <[email protected]>
1 parent 11f9a67 commit 014528d

File tree

8 files changed

+33
-30
lines changed

8 files changed

+33
-30
lines changed

doc/man/8/ceph-bluestore-tool.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Synopsis
3434
| **ceph-bluestore-tool** show-sharding --path *osd path*
3535
| **ceph-bluestore-tool** trim --path *osd path*
3636
| **ceph-bluestore-tool** zap-device --dev *dev path*
37-
| **ceph-bluestore-tool** downgrade-wal-to-v1 --path *osd path*
37+
| **ceph-bluestore-tool** revert-wal-to-plain --path *osd path*
3838
3939

4040
Description
@@ -166,10 +166,10 @@ Commands
166166

167167
Zeros all device label locations. This effectively makes device appear empty.
168168

169-
:command: `downgrade-wal-to-v1` --path *osd path*
169+
:command: `revert-wal-to-plain` --path *osd path*
170170

171-
Changes WAL disk format from the new version to the legacy one. Useful for downgrades, or if you
172-
might want to disable this new feature (bluefs_wal_v2).
171+
Changes WAL files from envelope mode to the legacy plain mode.
172+
Useful for downgrades, or if you might want to disable this new feature (bluefs_wal_envelope_mode).
173173

174174
Options
175175
=======

src/common/options/global.yaml.in

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4248,6 +4248,15 @@ options:
42484248
level: advanced
42494249
default: false
42504250
with_legacy: true
4251+
- name: bluefs_wal_envelope_mode
4252+
type: bool
4253+
level: advanced
4254+
desc: Enables a faster backend in BlueFS for WAL writes.
4255+
long_desc: In envelope mode BlueFS files do not need to update metadata. When applied to RocksDB WAL files,
4256+
it reduces by ~50% the amount of fdatasync syscalls.
4257+
Downgrading from an envelope mode to legacy mode requires `ceph-bluestore-tool --command downgrade-wal-to-v1`.
4258+
default: true
4259+
with_legacy: false
42514260
- name: bluefs_allocator
42524261
type: str
42534262
level: dev
@@ -6718,12 +6727,3 @@ options:
67186727
desc: Enables exception throwing instead of process abort on transaction submission error.
67196728
default: false
67206729
with_legacy: false
6721-
- name: bluefs_wal_envelope_mode
6722-
type: bool
6723-
level: advanced
6724-
desc: Enables a faster backend in BlueFS for WAL writes.
6725-
long_desc: In envelope mode BlueFS files do not need to update metadata. When applied to RocksDB WAL files,
6726-
it reduces by ~50% the amount of fdatasync syscalls.
6727-
Downgrading from an envelope mode to legacy mode requires `ceph-bluestore-tool --command downgrade-wal-to-v1`.
6728-
default: true
6729-
with_legacy: false

src/os/bluestore/BlueFS.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2215,7 +2215,7 @@ int BlueFS::device_migrate_to_new(
22152215
return 0;
22162216
}
22172217

2218-
int BlueFS::downgrade_wal_to_v1(
2218+
int BlueFS::revert_wal_to_plain(
22192219
const std::string& dir,
22202220
const std::string& name)
22212221
{
@@ -2225,7 +2225,7 @@ int BlueFS::downgrade_wal_to_v1(
22252225
FileReader* reader = nullptr;
22262226
// we use dir for wals and name like wal; should get proper hint
22272227
r = open_for_write(dir, tmp_name, &writer, false);
2228-
// use normal v1 write path by marking node type to legacy
2228+
// use normal legacy write path by marking node type to plain
22292229
writer->file->fnode.encoding = bluefs_node_encoding::PLAIN;
22302230
ceph_assert(r == 0);
22312231
r = open_for_read(dir, name, &reader);
@@ -2250,7 +2250,7 @@ int BlueFS::downgrade_wal_to_v1(
22502250
return 0;
22512251
}
22522252

2253-
int BlueFS::downgrade_wal_to_v1()
2253+
int BlueFS::revert_wal_to_plain()
22542254
{
22552255
string wal_dir("db.wal");
22562256
auto dir_it = nodes.dir_map.find(wal_dir);
@@ -2263,11 +2263,11 @@ int BlueFS::downgrade_wal_to_v1()
22632263
auto dir_copy = dir_it->second->file_map;
22642264
for (const auto& [file_name, file] : dir_copy) {
22652265
if(file->envelope_mode()) {
2266-
downgrade_wal_to_v1(wal_dir, file_name);
2266+
revert_wal_to_plain(wal_dir, file_name);
22672267
sync_metadata(true);
2268-
dout(10) << __func__ << fmt::format(" {} v2=>v1", file_name) << dendl;
2268+
dout(10) << __func__ << fmt::format(" {} envelope mode=>plain mode", file_name) << dendl;
22692269
} else {
2270-
dout(10) << __func__ << fmt::format(" {} in v1", file_name) << dendl;
2270+
dout(10) << __func__ << fmt::format(" {} in plain mode", file_name) << dendl;
22712271
}
22722272
}
22732273

src/os/bluestore/BlueFS.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -801,7 +801,7 @@ class BlueFS {
801801
const std::set<int>& devs_source,
802802
int dev_target,
803803
const bluefs_layout_t& layout);
804-
int downgrade_wal_to_v1();
804+
int revert_wal_to_plain();
805805

806806
uint64_t get_used();
807807
uint64_t get_block_device_size(unsigned id);
@@ -930,7 +930,7 @@ class BlueFS {
930930
size_t read_len,
931931
bufferlist* bl);
932932
void _check_vselector_LNF();
933-
int downgrade_wal_to_v1(
933+
int revert_wal_to_plain(
934934
const std::string& dir,
935935
const std::string& name
936936
);

src/os/bluestore/BlueStore.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10836,13 +10836,13 @@ int BlueStore::_fsck(BlueStore::FSCKDepth depth, bool repair)
1083610836
return _fsck_on_open(depth, repair);
1083710837
}
1083810838

10839-
int BlueStore::downgrade_wal_to_v1() {
10839+
int BlueStore::revert_wal_to_plain() {
1084010840
int r = cold_open();
1084110841
if (r != 0) {
1084210842
dout(1) << __func__ << "failed to open db / allocator" << dendl;
1084310843
goto out;
1084410844
}
10845-
bluefs->downgrade_wal_to_v1();
10845+
bluefs->revert_wal_to_plain();
1084610846
cold_close();
1084710847
out:
1084810848
return r;

src/os/bluestore/BlueStore.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3177,7 +3177,7 @@ class BlueStore : public ObjectStore,
31773177
int repair(bool deep) override {
31783178
return _fsck(deep ? FSCK_DEEP : FSCK_REGULAR, true);
31793179
}
3180-
int downgrade_wal_to_v1();
3180+
int revert_wal_to_plain();
31813181
int quick_fix() override {
31823182
return _fsck(FSCK_SHALLOW, true);
31833183
}

src/os/bluestore/bluestore_tool.cc

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ int main(int argc, char **argv)
369369
"show-sharding, "
370370
"trim, "
371371
"zap-device, "
372-
"downgrade-wal-to-v1"
372+
"revert-wal-to-plain"
373373
);
374374
po::options_description po_all("All options");
375375
po_all.add(po_options).add(po_positional);
@@ -486,7 +486,10 @@ int main(int argc, char **argv)
486486
}
487487
}
488488

489-
if (action == "fsck" || action == "repair" || action == "quick-fix" || action == "allocmap" || action == "qfsck" || action == "restore_cfb" || action == "migrate-wal-to-v1") {
489+
if (action == "fsck" || action == "repair" ||
490+
action == "quick-fix" || action == "allocmap" ||
491+
action == "qfsck" || action == "restore_cfb" ||
492+
action == "revert-wal-to-plain") {
490493
if (path.empty()) {
491494
cerr << "must specify bluestore path" << std::endl;
492495
exit(EXIT_FAILURE);
@@ -702,16 +705,16 @@ int main(int argc, char **argv)
702705
else if (action == "fsck" ||
703706
action == "repair" ||
704707
action == "quick-fix" ||
705-
action == "downgrade-wal-to-v1") {
708+
action == "revert-wal-to-plain") {
706709
validate_path(cct.get(), path, false);
707710
BlueStore bluestore(cct.get(), path);
708711
int r;
709712
if (action == "fsck") {
710713
r = bluestore.fsck(fsck_deep);
711714
} else if (action == "repair") {
712715
r = bluestore.repair(fsck_deep);
713-
} else if (action == "downgrade-wal-to-v1") {
714-
r = bluestore.downgrade_wal_to_v1();
716+
} else if (action == "revert-wal-to-plain") {
717+
r = bluestore.revert_wal_to_plain();
715718
} else {
716719
r = bluestore.quick_fix();
717720
}

src/test/objectstore/test_bluefs.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1141,7 +1141,7 @@ TEST(BlueFS, test_wal_migrate) {
11411141
// WAL files don't update internal extents while writing to save memory, only on _replay
11421142
fs.umount();
11431143
fs.mount();
1144-
fs.downgrade_wal_to_v1();
1144+
fs.revert_wal_to_plain();
11451145

11461146
BlueFS::FileReader *reader;
11471147
ASSERT_EQ(0, fs.open_for_read(dir_db, wal_file, &reader));

0 commit comments

Comments
 (0)