← Back to team overview

touch-packages team mailing list archive

[Bug 1358310] Re: using umount with bash wildcard ends in "device is busy" for mount of parent directory

 

Here is an output of the commands iv'e used:

root@rmc0078140:~# lvcreate -L 1G -n test system
  Logical volume "test" already exists in volume group "system"
root@rmc0078140:~# lvcreate -L 1G -n test2 system
  Logical volume "test2" created
root@rmc0078140:~# mkfs.ext4 /dev/system/test
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

root@rmc0078140:~# mkfs.ext4 /dev/system/test2
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

root@rmc0078140:~# mount /dev/system/test /mnt/
root@rmc0078140:~# mkdir /mnt/test2
root@rmc0078140:~# mount /dev/system/test2 /mnt/test2/
root@rmc0078140:~# ln -sf /etc/issue /mnt/
root@rmc0078140:~# umount /mnt/*
umount: /mnt/issue: not mounted
umount: /mnt/lost+found: not mounted
root@rmc0078140:~# umount /mnt/
umount: /mnt: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
root@rmc0078140:~# lvremove -f /dev/system/test2
  /dev/mapper/sda5_crypt: BLKDISCARD ioctl at offset 115034030080 size 1073741824 failed: Operation not supported.
  Logical volume "test2" successfully removed
root@rmc0078140:~# lvremove -f /dev/system/test
  Logical volume system/test contains a filesystem in use.

but i looks like after an update the problem is gone. i guess it is
kernel related?

root@rmc0078140:~# uname  -a
Linux rmc0078140 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to util-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1358310

Title:
  using umount with bash wildcard ends in "device is busy" for mount of
  parent directory

Status in “util-linux” package in Ubuntu:
  Incomplete

Bug description:
  hi,

  i've run into a problem on ubuntu 14.04 while mounting an ganeti
  instance for doing some chroot stuff. but the problem itself not
  related to ganeti or any other virtualization. its just a problem
  while mounting/unmounting some devices.

  so heres an example how to reproduce the problem:

  lvcreate -L 1G -n test system
  lvcreate -L 1G -n test2 system
  mkfs.ext4 /dev/system/test
  mkfs.ext4 /dev/system/test2
  mount /dev/system/test /mnt/
  mkdir /mnt/test2
  mount /dev/system/test2 /mnt/test2/
  ln -sf /etc/issue /mnt/
  umount /mnt/*
  umount /mnt/
  lvremove -f /dev/system/test2
  lvremove -f /dev/system/test

  if i run this commands /mnt/ is still mounted and it is only possible
  to umount it using "-l" switch. but after this it is still not
  possible to remove the logical volume because it says "Logical volume
  system/test contains a filesystem in use."

  if i run the same commands but without the "ln -sf /etc/issue /mnt/"
  everything is okay. also if i replace "umount /mnt/*" with "umount
  /mnt/boot" everything works.

  so it seems like umount ist opening /etc/issue for some reason if a
  bash wildcard is used and not releasing it. checking with lsof or
  fuser does not show any open files under /mnt/ nor for /etc/issue.

  the problem does not exist with ubuntu 12.04.

  a solution for this problem would be great because if you often do
  some chroot stuff it is easier to use "umount /mnt/*" to umount all
  bind mounts like /proc/ or /sys/ than running a umount command for
  each mount.

  also i havent found a way, other than reboot, to remove an open
  logical volume if it was hit by this problem.

  
  lsb_release -rd
  Description:    Ubuntu 14.04.1 LTS
  Release:        14.04

  
  regards
  the2nd

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1358310/+subscriptions