다음을 통해 공유


Oplock 동기화

단독 기회 잠금(oplock)을 요청하는 필터 및 파일 시스템은 호출을 시스템 제공 oplock 패키지로 동기화해야 합니다. 특히 oplock을 설정하기 위해 FSCTRL 루틴 oplock에 대한 호출은 oplock 검사 중단 루틴에 대한 호출과 동기화되어야 합니다. 두 루틴 집합의 목록은 다음과 같습니다.

oplock 요청을 처리할 때 필터 및 파일 시스템은 다음을 확인해야 합니다.

  • oplock을 끊을 수 있는 I/O는 요청 처리와 병렬로 발생할 수 없습니다.
  • Oplock 요청은 oplock 중단 승인과 동시에 발생할 수 없습니다.

동일한 FCB(파일 제어 블록)에 대한 배타적 oplock 생성을 요청하는 IRP 호출은 다음과 같습니다.

다음은 oplock 동기화의 몇 가지 예입니다.

  • oplock 요청을 처리할 때 파일 시스템은 일부 리소스를 단독으로 획득하고 , FsRtlOplockFsctrlEx를 호출하고, 리소스를 해제합니다.

  • oplock 중단 승인을 처리할 때 파일 시스템은 동일한 리소스 공유를 획득하고 , FsRtlOplockFsctrlEx를 호출하고, 리소스를 해제합니다.

  • I/O를 수행할 때 파일 시스템은 동일한 리소스 공유를 획득하고 , FsRtlCheckOplockEx2를 호출하고, I/O를 수행하고, 리소스를 해제합니다.

    상위 파일 시스템은 FsRtlCheckUpperOplockFsRtlUpperOplockFsctrl 호출 간에 비슷한 방식으로 동기화되도록 해야 합니다.