diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/umount.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/umount.c b/src/core/umount.c index c7b6cee079..f0f2711295 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -233,6 +233,7 @@ 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; @@ -241,6 +242,12 @@ 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; |