Messages in this thread |  | | | Date | Tue, 13 May 2008 22:07:10 +1000 | | From | David Chinner <> | | Subject | Re: [BUG] remount ro on loopback mount leaves unmountable filesystem behind | |
On Tue, May 13, 2008 at 06:23:40AM -0400, Christoph Hellwig wrote:
> On Tue, May 13, 2008 at 06:50:47PM +1000, David Chinner wrote:
> > Same thing, but remounting the loop filesystem readonly
> > before unmounting:
> >
> > $ mount -t xfs /dev/sdb6 /mnt/scratch
> > $ mkdir /mnt/scratch/mnt
> > $ touch /mnt/scratch/img
> > $ mkfs.xfs -f -d file,name=/mnt/scratch/img,size=1g
> > $ mount -t xfs -o loop /mnt/scratch/img /mnt/scratch/mnt
> > $ mount -t xfs -o remount,ro /mnt/scratch/img /mnt/scratch/mnt
> > $ umount /mnt/scratch/mnt
> > $ umount /mnt/scratch
> > umount: /mnt/scratch: device is busy
> > umount: /mnt/scratch: device is busy
>
> This is a problem in mount, no the kernel. Before the remount the
> /etc mtab looks something like this:
>
> /qemu/test.img /mnt xfs rw,loop=/dev/loop0 0 0
>
> and after it looks something like this:
>
> /qemu/test.img /mnt xfs ro 0 0
>
> As a workaround do a losetup -d /dev/loop0 after unmounting the
> filesystem.
Hmmm - I even considered that and tried a '-o remount,ro,loop'
but that obviously doesn't work with dynamic loop device instantiation,
either.
/me didn't read all the way to the bottom of the extremely verbose
mount man page so didn't find the bit about losetup -d....
Anyway, I'll hard code loop device numbers into the script so
I can just forget about this problem. Thanks, Christoph.
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
|  |