mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
block: introduce REQ_FLUSH flag
SCSI-ml needs a way to mark a request as flush request in q->prepare_flush_fn because it needs to identify them later (e.g. in q->request_fn or prep_rq_fn). queue_flush sets REQ_HARDBARRIER in rq->cmd_flags however the block layer also sends normal REQ_TYPE_FS requests with REQ_HARDBARRIER. So SCSI-ml can't use REQ_HARDBARRIER to identify flush requests. We could change the block layer to clear REQ_HARDBARRIER bit before sending non flush requests to the lower layers. However, intorudcing the new flag looks cleaner (surely easier). Signed-off-by: FUJITA Tomonori <[email protected]> Cc: James Bottomley <[email protected]> Cc: David S. Miller <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Alasdair G Kergon <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
parent
802447c1c0
commit
8749534fe6
2 changed files with 3 additions and 1 deletions
|
|
@ -143,7 +143,7 @@ static void queue_flush(struct request_queue *q, unsigned which)
|
|||
}
|
||||
|
||||
blk_rq_init(q, rq);
|
||||
rq->cmd_flags = REQ_HARDBARRIER;
|
||||
rq->cmd_flags = REQ_HARDBARRIER | REQ_FLUSH;
|
||||
rq->rq_disk = q->bar_rq.rq_disk;
|
||||
rq->end_io = end_io;
|
||||
q->prepare_flush_fn(q, rq);
|
||||
|
|
|
|||
Loading…
Reference in a new issue