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: v13.2.1~131^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=53a6ca59d46b5741f51ba73f33a35c0a1e20109c;p=ceph.git os/bluestore: make bad symlink target error messages more informative Signed-off-by: Sage Weil (cherry picked from commit aea215103caf669c3e289cc07f978511d61f68b0) --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index d2ed285fcea2..7830bdd6860c 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4754,13 +4754,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 @@ -4824,13 +4827,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) {