]> err.no Git - util-linux/commitdiff
umount: call is_loop_autoclear() for all loopdevs
authorKarel Zak <kzak@redhat.com>
Mon, 17 Jan 2011 13:00:53 +0000 (14:00 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 17 Jan 2011 13:00:53 +0000 (14:00 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
mount/mount.c
mount/umount.c

index ae3c6d25c3a1a0eb68bf2ee9ce7a7619617b20a4..d5f9e4c9ca169e0d538d386635d7f237ffbb3a3b 100644 (file)
@@ -1233,7 +1233,7 @@ loop_check(const char **spec, const char **type, int *flags,
       if (verbose)
        printf(_("mount: skipping the setup of a loop device\n"));
     } else {
-      int loop_opts;
+      int loop_opts = 0;
       int res;
 
       /* since 2.6.37 we don't have to store backing filename to mtab
index 7e4eff77a632a7ac98ff4711725337c3282d6b85..b93b0b3908346633468a161b89b490d4cd88dc91 100644 (file)
@@ -234,7 +234,7 @@ umount_one (const char *spec, const char *node, const char *type,
         * Ignore the option "-d" for non-loop devices and loop devices with
         * LO_FLAGS_AUTOCLEAR flag.
         */
-       if (delloop && is_loop_device(spec) && !is_loop_autoclear(spec))
+       if (delloop && is_loop_device(spec))
                myloop = 1;
 
        if (lazy) {
@@ -329,7 +329,7 @@ umount_one (const char *spec, const char *node, const char *type,
                        loopdev = spec;
        }
  gotloop:
-       if (loopdev)
+       if (loopdev && !is_loop_autoclear(loopdev))
                del_loop(loopdev);
 
  writemtab: