C 속성을 지원하는 파일 시스템은 무엇입니까?

C 속성을 지원하는 파일 시스템은 무엇입니까?

CBTRFS 파일 시스템에서는 다음과 같이 파일 속성을 사용하여 파일에 대해 CoW를 비활성화할 수 있습니다 .

chattr +C filename

CoW 파일 시스템이기 때문에 ZFS에도 이것이 적용될 것으로 예상했지만 해당 속성을 설정할 방법이 없습니다(아마도 ZFS는 CoW 없이 실행될 수 없습니다).

그렇다면 어떤 파일 시스템이 C파일 속성을 완벽하게 지원합니까? XFS 또는 BCacheFS와 같은 다른 파일 시스템도 이 플래그를 따르나요, 아니면 BTRFS만이 이 플래그를 따르나요?


컨텍스트: 가상 머신을 마운트하는 프로그램을 만들었고 호스트 파일 시스템이 BTRFS임을 감지하면 가상 디스크 이미지가 포함된 폴더에 대해 CoW를 비활성화합니다(그렇지 않으면 성능 문제가 발생하기 때문). 동일한 코드를 ZFS, XFS, BCacheFS에 적용했는데, 속성 설정이 되지 않아 ZFS를 제거해야 했습니다. 이제 XFS와 BCacheFS도 제외해야 하는지 궁금합니다.

답변1

chattrC속성에 해당FS_NOCOW_FL커널 UAPI의 플래그(정의존재하다linux/fs.h). 따라서 이 속성을 지원하는 유일한 파일 시스템은 다음과 같습니다.이 플래그를 처리해: 현재 BTRFS 및 F2FS입니다.

또한 파일 시스템 지원은 속성 검색 및 설정에 따라 다를 수 있습니다. BTRFS를 즉시 확인할 수 있는 방법은 없습니다.fs/btrfs/ioctl.c— 속성 설정 및 검색을 지원합니다 C. F2FS의 경우더 쉽게 볼 수 있다: 이 C속성은 설정할 수 없으며 사용만 가능합니다.고정된 파일 식별(가비지 수집이 불가능한 파일 - F2FS는 로그 구조의 파일 시스템입니다.)

관련 정보