summaryrefslogtreecommitdiff
path: root/src/common/config.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/config.cc')
-rw-r--r--src/common/config.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/common/config.cc b/src/common/config.cc
index 5c64f4ec151..79415c74fa1 100644
--- a/src/common/config.cc
+++ b/src/common/config.cc
@@ -96,7 +96,7 @@ struct config_option config_optionsp[] = {
const int NUM_CONFIG_OPTIONS = sizeof(config_optionsp) / sizeof(config_option);
-bool ceph_resolve_file_search(const std::string& filename_list,
+int ceph_resolve_file_search(const std::string& filename_list,
std::string& result)
{
list<string> ls;
@@ -105,15 +105,20 @@ bool ceph_resolve_file_search(const std::string& filename_list,
list<string>::iterator iter;
for (iter = ls.begin(); iter != ls.end(); ++iter) {
int fd = ::open(iter->c_str(), O_RDONLY);
- if (fd < 0)
- continue;
+ if (fd < 0) {
+ if (errno == ENOENT) {
+ continue;
+ } else {
+ return errno;
+ }
+ }
close(fd);
result = *iter;
- return true;
+ return 0;
}
- return false;
+ return ENOENT;
}
md_config_t::md_config_t()