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: v12.2.6~7^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=245f8b418dfdd44306e2007462f83296d5835b69;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 8cf9888f0f7..6fdd11b170b 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4586,13 +4586,16 @@ int BlueStore::_open_db(bool create) } 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 @@ -4654,13 +4657,16 @@ int BlueStore::_open_db(bool create) } cct->_conf->set_val("rocksdb_separate_wal_dir", "true"); bluefs_single_shared_device = false; - } else if (::lstat(bfn.c_str(), &st) == -1) { - cct->_conf->set_val("rocksdb_separate_wal_dir", "false"); } 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; + cct->_conf->set_val("rocksdb_separate_wal_dir", "false"); + } else { + derr << __func__ << " " << bfn << " symlink exists but target unusable: " + << cpp_strerror(r) << dendl; + goto free_bluefs; + } } if (create) {