From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Chinner Subject: [BUG] remount ro on loopback mount leaves unmountable filesystem behind Date: Tue, 13 May 2008 18:50:47 +1000 Message-ID: <20080513085047.GY155679365@sgi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel To: lkml Return-path: Received: from netops-testserver-3-out.sgi.com ([192.48.171.28]:32872 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757239AbYEMIuz (ORCPT ); Tue, 13 May 2008 04:50:55 -0400 Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: The following steps will leave an unmountable filesystem behind. This test "works" using ext3 or XFS. XFS version is as follows replacing steps with ext3 specific commands results in the same unmountable filesystem problem: $ 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 All normal up to here. I can unmount everything just fine. $ umount /mnt/scratch/mnt $ umount /mnt/scratch $ 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 $ At this point /mnt/scratch is unmountable. lsof shows no open references to the filesytem, so it would seem to be a reference count leak somewhere.... Reproduced on 2.6.25-rc3 on ia64 and x86_64, and UML on 2.6.26-pre-rc1. Found when changing XFSQA test 073 to host loopback images and mounts mounts on something other than /tmp. Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group