
sysfs의 Linux 블록 장치에 capability
부분 레코드가 있는 파일이 있습니다.여기. 글쎄, 그 중 하나가 문서화되었습니다.
암시하는 바와 같이 genhd.h
, 다른 것들도 있습니다. 이에 대한 문서가 있습니까? 아니면 그것이 무엇을 의미하는지 아는 사람이 있습니까?
귀하의 편의를 위해 여기에 나열되어 있습니다.
- GENHD_FL_이동식
- GENHD_FL_CD
- GENHD_FL_UP
- GENHD_FL_SUPPRESS_PARTITION_INFO
- GENHD_FL_EXT_DEVT
- GENHD_FL_NATIVE_CAPACITY
- GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE
- GENHD_FL_NO_PART_SCAN
- GENHD_FL_HIDDEN
뿐만 아니라,
이동할 수 있는? 이동식 USB 드라이브를 선호하시나요? /sys/block/*/removable과의 관계? 추가의?
확장 개발이란 무엇입니까?
파티션을 억제하시겠습니까?
부품 스캔이 없나요? 파티션을 억제하는 것과 다른가요?
위로?
CD? "이것은 CD 드라이브입니다"처럼요? 왜? 다른 의미가 있나요?
네이티브 능력?
답변1
커널 6.3부터,이 capability
파일은 더 이상 사용되지 않으며 항상 0을 나타냅니다..
질문을 했을 당시 유일하게 문서화된 플래그는 더 이상 사용되지 않았습니다! 다른 의미는 다음과 같습니다.
GENHD_FL_REMOVABLE
:블록 장치는 이동식 미디어에 대한 액세스를 제공합니다. 블록 장치는 미디어 가용성에 따라 표시되거나 사라지지 않습니다. 예를 들어, 이는 CD-ROM 드라이브(블록 장치가 항상 존재하는 경우)에는 작동하지만 USB 저장소처럼 작동하는 장치(드라이브가 연결된 동안에만 블록 장치가 존재하는 경우)에는 작동하지 않습니다.GENHD_FL_CD
: 블록 장치는 CD-ROM 유형의 장치입니다. 에 대한 반응에 영향을 미칩니다CDROM_GET_CAPABILITY
ioctl
.GENHD_FL_UP
: 블록 장치가 "up" 상태에 있음을 나타내며 이는 네트워크 인터페이스의 의미와 유사합니다. 이는 주로 삭제 시 경합을 피하기 위해 다른 블록 장치 하위 시스템과 동기화하는 데 사용됩니다.GENHD_FL_SUPPRESS_PARTITION_INFO
: 출력 에/proc/partitions
파티션 정보를 포함 하지 마십시오printk_all_partitions()
(커널 로그에 표시됨). 빈 블록 장치 및 일부 MMC 장치에 사용됩니다.GENHD_FL_EXT_DEVT
: 드라이버는 확장된 역학을 지원합니다dev_t
. 즉, 확장된 장치 번호(BLOCK_EXT_MAJOR
,블록 전공 259). 이는 최대 파티션 수에 영향을 미칩니다.GENHD_FL_NATIVE_CAPACITY
: 파티션 테이블의 정보에 따르면 장치의 용량이 원래 용량으로 확장되었습니다.즉장치에는 파티션 중 하나에서 사용되는 숨겨진 용량이 있습니다(이것은 기본 용량이 한 번만 잠금 해제되도록 사용되는 플래그입니다). 예를 들어, 드라이브가 분할된 경우 다음이 있습니다.호스트 보호 지역오버레이 파티션의 일부를 만듭니다.GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE
:작성자가 배타적 잠금을 보유하고 있는 동안 이벤트 폴링은 차단됩니다.GENHD_FL_NO_PART_SCAN
: 파티션 검색이 비활성화됩니다. 루프 장치 및 일부 MMC 장치의 기본 설정에 사용됩니다.GENHD_FL_HIDDEN
: 블록 장치는 숨겨져 있으며 이벤트를 생성하지 않으며 sysfs에 표시되지 않으며 관련 수단 도 없습니다bdev
. 다중 경로 장치와 함께 사용됩니다.GENHD_FL_SUPPRESS_PARTITION_INFO
GENHD_FL_NO_PART_SCAN
대부분이 제거되었거나 더 적합한 위치로 이동되었습니다.GENHD_FL_REMOVABLE
, GENHD_FL_HIDDEN
그리고 유지GENHD_FL_NO_PART
( 장치가 파티셔닝을 지원하지 않음을 나타내기 GENHD_FL_NO_PART_SCAN
위해 이름이 변경되었습니다 .)GENHD_FL_NO_PART