diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-05 22:39:13 -0500 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-23 19:17:31 -0500 |
commit | 056edeb9102c5ba455e1a54af70f282b6138ca33 (patch) | |
tree | 46bf5dcdc8ed57f3b469f28e2ddf091236f254a2 /src/core/mount.c | |
parent | 06d8d842e9de8656d9a46926e7ae7ff967b69ef8 (diff) |
manager: only issue overmount warning when the check succeeded
If for any reason the check failed (selinux?), we would still issue
the warning. Check the return status.
Diffstat (limited to 'src/core/mount.c')
-rw-r--r-- | src/core/mount.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index 8b787f66b0..b571db946d 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -814,19 +814,26 @@ fail: } void warn_if_dir_nonempty(const char *unit, const char* where) { + int r; + assert(unit); assert(where); - if (dir_is_empty(where) > 0) + r = dir_is_empty(where); + if (r > 0) return; - - log_struct_unit(LOG_NOTICE, - unit, - "MESSAGE=%s: Directory %s to mount over is not empty, mounting anyway.", - unit, where, - "WHERE=%s", where, - MESSAGE_ID(SD_MESSAGE_OVERMOUNTING), - NULL); + else if (r == 0) + log_struct_unit(LOG_NOTICE, + unit, + "MESSAGE=%s: Directory %s to mount over is not empty, mounting anyway.", + unit, where, + "WHERE=%s", where, + MESSAGE_ID(SD_MESSAGE_OVERMOUNTING), + NULL); + else + log_warning_unit(unit, + "MESSAGE=Failed to check directory %s: %s", + where, strerror(-r)); } static int fail_if_symlink(const char *unit, const char* where) { |