From 49ff57a01e5d87cd55cc42ea72cbbc16555d7106 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 9 Sep 2013 09:48:59 +0200 Subject: [PATCH] 2.23.2-3: #950497 --- ...nicalize-for-conversion-from-loopdev.patch | 39 +++++++++++++++++++ util-linux.spec | 3 ++ 2 files changed, 42 insertions(+) create mode 100644 2.24-libmount-canonicalize-for-conversion-from-loopdev.patch diff --git a/2.24-libmount-canonicalize-for-conversion-from-loopdev.patch b/2.24-libmount-canonicalize-for-conversion-from-loopdev.patch new file mode 100644 index 0000000..9778ec5 --- /dev/null +++ b/2.24-libmount-canonicalize-for-conversion-from-loopdev.patch @@ -0,0 +1,39 @@ +From 3f420a49dd4d0c413b635dd621aa34eebce2d3d2 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 5 Aug 2013 13:58:01 +0200 +Subject: [PATCH] libmount: canonicalize for conversion from loopdev backing + file + + # mount foo.img /mnt + # umount foo.img + umount: foo.img: not mounted + +The loopdev code (and sysfs backing_file) uses absolute paths, but +libmount does not canonicalize the path before lookup for the backing file. + +References: https://bugzilla.redhat.com/show_bug.cgi?id=950497 +Signed-off-by: Karel Zak +--- + libmount/src/context_umount.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c +index 2b791c4..b02902c 100644 +--- a/libmount/src/context_umount.c ++++ b/libmount/src/context_umount.c +@@ -161,7 +161,12 @@ try_loopdev: + struct stat st; + + if (stat(tgt, &st) == 0 && S_ISREG(st.st_mode)) { +- int count = loopdev_count_by_backing_file(tgt, &loopdev); ++ int count; ++ ++ cn_tgt = mnt_resolve_path(tgt, cache); ++ count = loopdev_count_by_backing_file(cn_tgt, &loopdev); ++ if (!cache) ++ free(cn_tgt); + if (count == 1) { + DBG(CXT, mnt_debug_h(cxt, + "umount: %s --> %s (retry)", tgt, loopdev)); +-- +1.8.1.4 diff --git a/util-linux.spec b/util-linux.spec index 72bc4f0..9b0da48 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -81,6 +81,8 @@ Patch0: 2.23-login-lastlog-create.patch Patch1: 2.24-agetty-clocal.patch # v2.24 backport: #987787 - Remove lastlogin from su Patch2: 2.24-su-suppress-PAM-info-messages.patch +# v2.24 backport: #950497 - problem umounting loop device +Patch3: 2.24-libmount-canonicalize-for-conversion-from-loopdev.patch %description The util-linux package contains a large variety of low-level system @@ -800,6 +802,7 @@ fi * Mon Sep 9 2013 Karel Zak 2.23.2-3 - refresh and rename patches - fix #987787 - Remove lastlogin from su +- fix #950497 - problem umounting loop device * Thu Aug 1 2013 Karel Zak 2.23.2-2 - fix 990083 - su doesn't work with pam_ecryptfs