Piszę sterownik urządzenia bloku linuksowego, który odbiera żądania za pośrednictwem funkcji zarejestrowanej pod numerem blk_init_queue()
.Żądanie zamawiania żądań sterowników urządzeń linuksowych - RaW?
Moje urządzenie sprzętowe zmienia kolejność żądań i jako takie, aby uniknąć konfliktów odczytu i zapisu, należy poczekać na zakończenie write(lba x)
przed wydaniem read(lba x)
.
Moje pytanie: Czy warstwa blok Linux śledzić surowy konfliktów i będzie nie problem read(lba x)
dopóki nie otrzymał zakończenie żądania (przez __blk_end_request_all(req r)
) przez poprzedniego write(lba x)
, czy też muszę to zrobić w moim kierowca?