On 6/27/07, Luciano Rocha <strange@xxxxxxxxxxxxx> wrote:
On Wed, Jun 27, 2007 at 12:54:39PM +0200, Andras Simon wrote: > On 6/27/07, Bob Marcan <bob.marcan@xxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > Tom Horsley wrote: > > > On Wed, 27 Jun 2007 01:14:12 +0200 > > > "Andras Simon" <szajmi@xxxxxxxxx> wrote: > > > > > >> The problem is that there shouldn't be any loop devices in use and > > >> there's nothing to unmount. The following transcript demonstrates the > > >> problem: > > >> > > >> [root@localhost ~]# losetup -a > > >> [root@localhost ~]# mount -o loop,offset=32256 > > >> /usr/local/kvm-images/WinXP.raw /mnt/ > > >> [root@localhost ~]# umount /mnt/ > > umount -d /mnt > > > > > > >> [root@localhost ~]# losetup -a > > >> /dev/loop0: [080c]:14073859 (/usr/local/kvm-images/WinXP.raw), offset > > 32256 > > > > > > That looks like a pretty clear bug in umount to me. I'd suggest > > > turning in a bugzilla on it. (I wonder if it only happens with > > > the offset arg - you'd think people would have noticed a general > > > leak of loop devices before now considering how few of them > > > are available by default). > > > > > > > man umount > > Right, so it's mount -d. But then there's a bug in FC5, because there > umount (without -d) does free the loop device :-) > And it should, when the mount command specified the option loop. From the manual: THE LOOP DEVICE The umount command will free the loop device (if any) associated with the mount, in case it finds the option 'loop=...' in /etc/mtab, or when the -d option was given. Any pending loop devices can be freed using 'losetup -d', see losetup(8). My umount works correctly, with or without offset.
You're right! I shouldn't have stopped reading man umount at the first mention of loop. OTOH, it seems like it's a mount and not an umount bug, because the relevant entry in /etc/mtab /dev/loop0 /mnt fuseblk rw,nosuid,nodev,noatime,allow_other,blksize=4096 0 0 doesn't have the 'loop=...' option. So umount is in its rights not to free the loop device. The time is ripe for a visit to bugzilla. Thanks, Andras