[Ovirt-devel] [PATCH node-image] edit-livecd: Retry upon failed umount.

Dan Kenigsberg danken at redhat.com
Wed Dec 3 14:33:54 UTC 2008


On Wed, Dec 03, 2008 at 09:25:21AM -0500, Perry Myers wrote:
> Dan Kenigsberg wrote:
>> On Wed, Dec 03, 2008 at 02:57:52PM +0100, Jim Meyering wrote:
>>> Dan Kenigsberg <danken at redhat.com> wrote:
>>>
>>>> On Tue, Dec 02, 2008 at 06:10:11PM +0100, Jim Meyering wrote:
>>>>> This is useful when you manually edit an image and forget to "cd"
>>>>> out of the working directory.  Without this, the script can't
>>>>> clean up, and it's a pain to do manually.
>>>>>
>>>> I'm not sure its related, but would you tell what's the painful manual
>>>> way to clean these
>>>>
>>>> /dev/loop1: [fd00]:6194759 (/tmp/node-image-tmp/imgcreate-XjH6K-/tmp-L816gf/ext3fs.img)
>>>>
>>>> I'm left with after an interrupted make .iso ?
>>> There are usually three of those listed at the bottom of /proc/mounts.
>>> You have to umount them starting with the last one and working "up", e.g.,
>>>
>>>   umount /dev/loop3
>>>   umount /dev/loop2
>>>   umount /dev/loop1
>>
>> This does not sound painful. Here, umounting any of them results in 
>>
>> $ sudo umount /dev/loop0
>> umount: /var/tmp/ovirt-cache/node-image-tmp/imgcreate-OmnXf7/install_root: device is busy
>> umount: /var/tmp/ovirt-cache/node-image-tmp/imgcreate-OmnXf7/install_root: device is busy
>>
>> What am I missing?
>
> The order you unmount them matters since they are nested mount points.  
> So you have to start with the lowest level directory (i.e. loop3) and 
> work upwards.
>
> Do a df -a to make sure there are no other mounts inside of the directory 
> structure.

so *that* was the missing bit. several 
umount /var/tmp/ovirt-cache/node-image-tmp/*/install_root/*/*/* &co did
the trick.

Thanks.




More information about the ovirt-devel mailing list