summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-09-18 18:40:31 +0200
committerLennart Poettering <lennart@poettering.net>2012-09-18 18:52:33 +0200
commit257f1d8ec49046c7b481801acfdd5bf57c9efa5c (patch)
tree4f239ecfe3d5ce30df3a0501e4817044b1871d4c /src/core
parent2b4957a99e37343b38449019c5f2917451121f7a (diff)
mount: notify the user if we over-mount a non-empty directory
https://bugzilla.redhat.com/show_bug.cgi?id=858266
Diffstat (limited to 'src/core')
-rw-r--r--src/core/mount.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/mount.c b/src/core/mount.c
index 92e2f734ae..78740a8b2d 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -959,6 +959,9 @@ static void mount_enter_mounting(Mount *m) {
mkdir_p_label(m->where, m->directory_mode);
+ if (dir_is_empty(m->where) <= 0)
+ log_notice("%s: Directory %s to mount over is not empty, ignoring. (To see the over-mounted files, please manually mount the underlying file system to a secondary location.)", m->meta.id, m->where);
+
/* Create the source directory for bind-mounts if needed */
p = get_mount_parameters_fragment(m);
if (p && mount_is_bind(p))
@@ -981,7 +984,8 @@ static void mount_enter_mounting(Mount *m) {
mount_unwatch_control_pid(m);
- if ((r = mount_spawn(m, m->control_command, &m->control_pid)) < 0)
+ r = mount_spawn(m, m->control_command, &m->control_pid);
+ if (r < 0)
goto fail;
mount_set_state(m, MOUNT_MOUNTING);