From: Sage Weil Date: Fri, 8 Jun 2018 13:34:53 +0000 (-0500) Subject: os/bluestore: make bad symlink target error messages more informative X-Git-Tag: v14.0.1~1157^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=aea215103caf669c3e289cc07f978511d61f68b0;p=ceph.git os/bluestore: make bad symlink target error messages more informative Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 9228a9da52d0..12edfbde5b81 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4755,13 +4755,16 @@ int BlueStore::_open_db(bool create, bool to_repair_db) } bluefs_shared_bdev = BlueFS::BDEV_SLOW; bluefs_single_shared_device = false; - } else if (::lstat(bfn.c_str(), &st) == -1) { - bluefs_shared_bdev = BlueFS::BDEV_DB; } else { - //symlink exist is bug - derr << __func__ << " " << bfn << " link target doesn't exist" << dendl; r = -errno; - goto free_bluefs; + if (::lstat(bfn.c_str(), &st) == -1) { + r = 0; + bluefs_shared_bdev = BlueFS::BDEV_DB; + } else { + derr << __func__ << " " << bfn << " symlink exists but target unusable: " + << cpp_strerror(r) << dendl; + goto free_bluefs; + } } // shared device @@ -4825,13 +4828,16 @@ int BlueStore::_open_db(bool create, bool to_repair_db) } kv_options["separate_wal_dir"] = "1"; bluefs_single_shared_device = false; - } else if (::lstat(bfn.c_str(), &st) == -1) { - kv_options.erase("separate_wal_dir"); } else { - //symlink exist is bug - derr << __func__ << " " << bfn << " link target doesn't exist" << dendl; r = -errno; - goto free_bluefs; + if (::lstat(bfn.c_str(), &st) == -1) { + kv_options.erase("separate_wal_dir"); + r = 0; + } else { + derr << __func__ << " " << bfn << " symlink exists but target unusable: " + << cpp_strerror(r) << dendl; + goto free_bluefs; + } } if (create) {