IOCTL_STORAGE_BREAK_RESERVATION IOCTL (ntddstor.h)

Melanggar reservasi disk. Dalam sistem multi-inisiator ("terkluster"), satu komputer dapat memesan sumber daya disk, sehingga tidak ada komputer lain yang dapat mengakses disk. Jika komputer tidak atau tidak dapat membebaskan sumber daya secara tepat waktu, sarana diperlukan untuk menghapus reservasi disk secara paksa.

Salah satu cara memaksa sistem untuk membebaskan sumber daya disk yang dipesan adalah dengan mengatur ulang bus. Bahkan, untuk perangkat penyimpanan yang adaptor busnya dikelola oleh driver port SCSI, permintaan IOCTL_STORAGE_BREAK_RESERVATION setara dengan IOCTL_STORAGE_RESET_BUS, yang hanya melakukan reset bus, membebaskan semua sumber daya yang dipesan.

Untuk perangkat penyimpanan yang adaptor busnya dikelola oleh driver port STOR, kode kontrol I/O ini menawarkan teknik yang lebih baik untuk melanggar reservasi disk. Teknik itu disebut "reset hierarkis." Setelah menerima permintaan IOCTL_STORAGE_BREAK_RESERVATION, driver port STOR terlebih dahulu mencoba menghapus cadangan pada unit logis dengan mengatur ulang unit logis itu sendiri. Jika gagal, driver port STOR mencoba mengatur ulang perangkat target yang merupakan induk unit logis. Hanya saat mengatur ulang perangkat target gagal, driver port akan mengatur ulang bus.

Mengatur ulang bus akan menghapus semua reservasi perangkat dan mentransfer pengaturan kecepatan, yang kemudian harus dinegosiasikan ulang. Karena ini adalah operasi yang memakan waktu, IOCTL_STORAGE_BREAK_RESERVATION selalu lebih disukai daripada reset bus sederhana.

Pemanggil hanya memerlukan akses baca untuk mengeluarkan reset bus.

Bendera SrbStatus dari SRB yang tertunda diatur ke SRB_STATUS_BUS_RESET.

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer input

Buffer di Irp-AssociatedIrp.SystemBuffer> berisi struktur STORAGE_BREAK_RESERVATION_REQUEST yang mengidentifikasi bus untuk direset.

Panjang buffer input

Panjang struktur STORAGE_BREAK_RESERVATION_REQUEST .

Buffer output

Tidak ada.

Panjang buffer output

Tidak ada.

Blok status

Bidang Informasi diatur ke nol. Bidang Status diatur ke STATUS_SUCCESS, atau mungkin ke STATUS_INSUFFICIENT_RESOURCES, STATUS_NOT_IMPLEMENTED, atau STATUS_INVALID_DEVICE_REQUEST.

Persyaratan

Persyaratan Nilai
Header ntddstor.h (termasuk Ntddstor.h)

Lihat juga

IOCTL_STORAGE_RESET_BUS

STORAGE_BREAK_RESERVATION_REQUEST