summaryrefslogtreecommitdiff
path: root/src/core/umount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/umount.c')
-rw-r--r--src/core/umount.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/core/umount.c b/src/core/umount.c
index f0f2711295..3fcb90eca4 100644
--- a/src/core/umount.c
+++ b/src/core/umount.c
@@ -219,7 +219,8 @@ static int loopback_list_get(MountPoint **head) {
}
if (udev_enumerate_add_match_subsystem(e, "block") < 0 ||
- udev_enumerate_add_match_sysname(e, "loop*") < 0) {
+ udev_enumerate_add_match_sysname(e, "loop*") < 0 ||
+ udev_enumerate_add_match_sysattr(e, "loop/backing_file", NULL) < 0) {
r = -EIO;
goto finish;
}
@@ -233,7 +234,6 @@ static int loopback_list_get(MountPoint **head) {
udev_list_entry_foreach(item, first) {
MountPoint *lb;
struct udev_device *d;
- const char *backing;
char *loop;
const char *dn;
@@ -242,12 +242,6 @@ static int loopback_list_get(MountPoint **head) {
goto finish;
}
- backing = udev_device_get_sysattr_value(d, "loop/backing_file");
- if (!backing) {
- udev_device_unref(d);
- continue;
- }
-
if (!(dn = udev_device_get_devnode(d))) {
udev_device_unref(d);
continue;