Dispositivos de loop de backup de arquivos abertos sem O_EXCL

1

Os dispositivos de loop são o principal meio (e talvez o único caminho) para tratar arquivos normais como dispositivos de bloco no Linux. É estranho que os arquivos de backup não sejam protegidos pelo O_EXCL flag. Por que é que? Por que ninguém reclama?

Por exemplo, a ferramenta wipefs não percebe que o arquivo está montado:

[il@reallin ~]$ touch me
[il@reallin ~]$ truncate -s10G me
[il@reallin ~]$ mkfs.ext3 me
...
Writing superblocks and filesystem accounting information: done

[il@reallin ~]$ sudo mount -oloop me /mnt

[il@reallin ~]$ mount | grep /mnt
/home/il/me on /mnt type ext3 (rw,relatime,data=ordered)

[il@reallin ~]$ wipefs -a /dev/loop0
wipefs: error: /dev/loop0: probing initialization failed: Device or resource busy

[il@reallin ~]$ wipefs -a me
me: 2 bytes were erased at offset 0x00000438 (ext2): 53 ef

[il@reallin ~]$ uname -a
Linux reallin.basin 4.2.4-1-ARCH #1 SMP PREEMPT Fri Oct 23 07:32:38 CEST 2015 x86_64 GNU/Linux

Se for para permitir que o mesmo arquivo seja montado várias vezes, o losetup deve primeiro tentar o modo exclusivo, depois imprimir um aviso e um fallback para não usar esse sinalizador.

    
por basin 20.04.2016 / 15:27

0 respostas