mount: could not find any free loop device

Andras Simon szajmi at gmail.com
Wed Jun 27 11:24:02 UTC 2007


On 6/27/07, Luciano Rocha <strange at nsk.no-ip.org> wrote:
> On Wed, Jun 27, 2007 at 12:54:39PM +0200, Andras Simon wrote:
> >  On 6/27/07, Bob Marcan <bob.marcan at interstudio.homeunix.net> wrote:
> > > Tom Horsley wrote:
> > > > On Wed, 27 Jun 2007 01:14:12 +0200
> > > > "Andras Simon" <szajmi at gmail.com> 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 at localhost ~]# losetup -a
> > > >> [root at localhost ~]# mount -o loop,offset=32256
> > > >> /usr/local/kvm-images/WinXP.raw /mnt/
> > > >> [root at localhost ~]# umount /mnt/
> > >                         umount -d /mnt
> > >
> > >
> > > >> [root at 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




More information about the fedora-list mailing list