Hi,

I asked the question on stackexchange 
(http://unix.stackexchange.com/questions/264931/centos-7-unable-to-cleanly-umount-a-bind-mount-using-rbind-and-rslave)
 and CentOS 7 bug report (https://bugs.centos.org/view.php?id=10414) but didn't 
get any useful response, so I am thinking if I can get some help here.

The problem arose when I tried to rbind mount /dev and /proc to a chroot  
sandbox and to unmount it, I have to set the mount to slave so that  unmounting 
submounts of <sandbox-root>/dev (e.g. /dev/pts) won't  unmount submounts of 
/dev.  This works for other distributions such as  Fedora 23 and Ubuntu 14.04, 
but under CentOS 7, umount succeeds but the  directory can't be removed.  For 
some reason, I have to stick to CentOS  7, so I wonder if there is a work 
around for it.

The steps to reproduce:
[hidden]$ mkdir -p A B/a C/b
[hidden]$ sudo mount --bind A B/a
[hidden]$ sudo mount --rbind B C/b
[hidden]$ sudo mount --make-rslave C/b
[hidden]$ sudo umount C/b/a
[hidden]$ sudo umount C/b
[hidden]$ rmdir C/b
rmdir: failed to remove ‘C/b’: Device or resource busy

None of mount, cat /proc/mounts, cat /etc/mtab, sudo lsof, sudo fuser C/b  
shows any process using the directory C/b; stat C/b shows it is  different 
inode than B, meaning it has already been unmounted  successfully.

The kernel version is 3.10.0-327.10.1.el7.x86_64.

Any suggestion is welcomed.附件(0个)全部下载超大附件(0个)
_______________________________________________
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos

Reply via email to