CentOS 7 incapaz de desmontar de forma limpa uma montagem de ligação usando rbind e rslave

2

A seguinte seqüência de comandos falhará no CentOS 7 (versão do kernel: 3.10.0-327.10.1.el7.x86_64):

[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

Nenhuma das mount , cat /proc/mounts , cat /etc/mtab , sudo lsof , sudo fuser C/b mostra qualquer processo usando o diretório C/b ; stat C/b mostra que é inode diferente de B , o que significa que já foi desmontado com sucesso.

Esses comandos são o menor exemplo para reproduzir um problema que encontrei quando tentei rbind /dev e /proc em uma sandbox e falhei quando tentei destruir a sandbox. make-rslave é necessário aqui, caso contrário, as submontagens em /dev/ serão desmontadas, o que atrapalha o sistema.

Estes comandos funcionam para o Ubuntu 14.04 (versão do kernel 3.13.xx) e o Fedora 23 (versão do kernel 4.x).

A minha pergunta é: se eu tiver que me ater ao CentOS 7 por algum motivo, como resolvo o problema e destruo o sandbox de maneira limpa?

    
por icando 22.02.2016 / 04:29

1 resposta

0

Tente fazer umount -a dentro do ambiente chroot ; Em seguida, saia e umount -l se umount -R falhar.

(chroot) # umount -a
(chroot) # exit
(liveos) # 
(liveos) # umount -R /mnt/point/
(liveos) # umount -l /mnt/point/




-R, --recursive
              Recursively  unmount  each specified directory.  Recursion for each directory will stop if any unmount
              operation in the chain fails for any reason.  The relationship between mountpoints  is  determined  by
              /proc/self/mountinfo  entries.   The  filesystem  must  be  specified  by mountpoint path; a recursive
              unmount by device name (or UUID) is unsupported.

-l, --lazy
              Lazy unmount.  Detach the filesystem from the file hierarchy now, and clean up all references to  this
              filesystem as soon as it is not busy anymore.  (Requires kernel 2.4.11 or later.)
    
por 03.07.2016 / 01:04