summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2010-12-22 13:12:57 +0100
committerKarel Zak <kzak@redhat.com>2011-01-03 12:28:48 +0100
commit29be59e9f136f0839032b0a784333ed32ee1009d (patch)
tree49d2e4769ce69533b467e8c1ed52468e71ff2f3e
parent86dcaa0a894781dfc997368a2295147636b3eee6 (diff)
downloadutil-linux-old-29be59e9f136f0839032b0a784333ed32ee1009d.tar.gz
umount: add HAVE_LIBMOUNT_MOUNT code
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--mount/umount.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/mount/umount.c b/mount/umount.c
index e7626538..7e4eff77 100644
--- a/mount/umount.c
+++ b/mount/umount.c
@@ -335,7 +335,19 @@ umount_one (const char *spec, const char *node, const char *type,
writemtab:
if (!nomtab &&
(umnt_err == 0 || umnt_err == EINVAL || umnt_err == ENOENT)) {
+#ifdef HAVE_LIBMOUNT_MOUNT
+ mnt_update *upd = mnt_new_update();
+
+ if (upd && !mnt_update_set_fs(upd, 0, node, NULL)) {
+ mnt_lock *lc = init_libmount_lock(
+ mnt_update_get_filename(upd));
+ mnt_update_tab(upd, lc);
+ init_libmount_lock(NULL);
+ }
+ mnt_free_update(upd);
+#else
update_mtab (node, NULL);
+#endif
}
if (res >= 0)