O_EXCL 없이 열린 루프 장치가 있는 파일을 지원합니다.

O_EXCL 없이 열린 루프 장치가 있는 파일을 지원합니다.

루프 장치는 Linux에서 일반 파일을 블록 장치로 처리하는 기본 방법(아마도 유일한 방법)입니다. 이상하게도 대체 파일은 O_EXCL플래그로 보호되지 않습니다. 왜 그런 겁니까? 왜 아무도 불평하지 않습니까?

예를 들어, 도구는 wipefs파일이 설치된 것을 인식하지 못했습니다.

[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

동일한 파일을 여러 번 마운트하려면 losetup먼저 배타 모드를 시도한 다음 경고를 인쇄하고 이 플래그를 사용하지 않는 것으로 대체해야 합니다.

관련 정보