Sto scrivendo un driver di dispositivo a blocchi Linux che riceve richieste tramite una funzione registrata con blk_init_queue()
.Ordinamento richiesta driver dispositivo blocco Linux - RaW?
Il mio dispositivo hardware riordina le richieste e, come tale, per evitare conflitti di lettura dopo scrittura, è necessario attendere il completamento di write(lba x)
prima di emettere read(lba x)
.
La mia domanda: Ha lo strato di blocco di Linux tenere traccia dei conflitti grezzo e sarà non problema read(lba x)
fino a quando non ha ricevuto un completamento richiesta (tramite __blk_end_request_all(req r)
) per un precedente write(lba x)
, o devo farlo nel mio autista?