Linux 2.6.34 커널 이하에서는 CDROM의 꺼내기 버튼을 눌렀을 때 문을 열도록 scsi cmd를 보내는 사람은 누구입니까? [폐쇄]

Linux 2.6.34 커널 이하에서는 CDROM의 꺼내기 버튼을 눌렀을 때 문을 열도록 scsi cmd를 보내는 사람은 누구입니까? [폐쇄]

scsi cmd는 0x1b 0x00 0x00 0x02와 유사합니다.

커널을 조사하려고 하는데 알 수 없습니다.

누르거나 누군가 CDROM 상태를 폴링할 때 인터럽트가 발생합니까?

새로운 시스템과 같이 udev 규칙에 의해 호출되는 일부 응용 프로그램에서는 전송되지 않는 것 같습니다.

답변1

꺼내기 버튼은 드라이브 자체에서 처리됩니다. 미디어를 잠그면(커널에서 명령 1E, 미디어 제거 방지/허용) 드라이브가 꺼내기 누르기를 처리하는 것을 방지할 수 있습니다. scsi_set_medium_removal커널은 CD를 마운트할 때 이 작업을 수행하지만 그렇지 않으면 소프트웨어가 꺼내기 처리에 관여하지 않습니다. 누르기에 대한 반응 드라이브의 꺼내기 버튼.

커널 버전 2.6.34에서는 SCSI 로드/언로드(꺼내기) 명령이 호출되며 에서 사용되는 GPCMD_START_STOP_UNIT것을 볼 수 있습니다 .sr_tray_movedrivers/scsi/sr_ioctl.c

관련 정보