int blkdev_open(struct inode * inode, struct file * filp)
Funkcja blkdev_open na początku wywołuje funkcje get_blkfops w celu znalezienia właściwych procedur obsługi urządzenia blokowego. Niezbędne do tego dane znajdują się w tablicy blkdevs. Jeśli w tablicy nie zostaną znalezione odpowiednie dane następuja próba załadowania modułu block-major-nr, gdzie nr oznacza numer główny, i ponowne sprawdzenie danych w tablicy.
Jeśli w znalezionej strukturze struct block_device_operations pole open jest ustawione na NULL, to funkcja blkdev_open kończy się sukcesem, w przeciwnym przypadku uruchamiana jest właściwa procedura otwarcia ->open i w przypadku jej pomyślnego zakończenia zwiększany jest licznik pomyślnych otwarć urządzenia ->bd_openers.
Uwaga: dla urządzeń blokowych procedury obsługi urządzenia znajdują się w strukturze struct block_device_operations, a nie tak jak w przypadku urządzeń znakowych w strukturze struct file_operations inode'u.