On Tue, Sep 18, 2012 at 07:50:29AM +0200, g.esp@xxxxxxx wrote: > The loop is cleaned on umount with 2.21.2 > With 2.22, unmounting /tmp/foo_fs no more remove the loop > > [chroot-i486] root:/$ mount --version > mount from util-linux 2.22 (libmount 2.22.0: debug) > [chroot-i486] root:/$ losetup -a > [chroot-i486] root:/$ mount -oloop /tmp/foo_fs /tmp/bar_dir > [chroot-i486] root:/$ umount /tmp/foo_fs > [chroot-i486] root:/$ losetup -a > /dev/loop0: [2051]:387175 (/tmp/foo_fs) > > The loop remain. Kernel version? I guess something old... :-) Since kernel 2.6.37 we use autoclear flag: $ cat /sys/block/loop0/loop/autoclear 1 if the flags is enabled (should be always by mount(8)) then the loop device is automatically detached by kernel after successful umount(2). It means that we don't have to store any extra information in userspace or do any magic around loopdevs in umount(8) command. I found a bug in libmount umount code, it does not check for the option "loop" in mtab -- this bug is invisible on systems where autoclear flags is usable. Fixed. Try the code from upstream tree: git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git cd util-linux ./autogen.sh ./configure make mount umount Note that you can use LIBMOUNT_DEBUG=0xffff env.variable to get more information from libmount. Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html