projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hugetlb: ensure hugepage access is denied if hugepages are not supported
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
block
/
blk-flush.c
diff --git
a/block/blk-flush.c
b/block/blk-flush.c
index
66e2b69
..
43e6b47
100644
(file)
--- a/
block/blk-flush.c
+++ b/
block/blk-flush.c
@@
-137,17
+137,20
@@
static void mq_flush_run(struct work_struct *work)
rq = container_of(work, struct request, mq_flush_work);
memset(&rq->csd, 0, sizeof(rq->csd));
rq = container_of(work, struct request, mq_flush_work);
memset(&rq->csd, 0, sizeof(rq->csd));
- blk_mq_
run_request(rq
, true, false);
+ blk_mq_
insert_request(rq, false
, true, false);
}
}
-static bool blk_flush_queue_rq(struct request *rq)
+static bool blk_flush_queue_rq(struct request *rq
, bool add_front
)
{
if (rq->q->mq_ops) {
INIT_WORK(&rq->mq_flush_work, mq_flush_run);
kblockd_schedule_work(rq->q, &rq->mq_flush_work);
return false;
} else {
{
if (rq->q->mq_ops) {
INIT_WORK(&rq->mq_flush_work, mq_flush_run);
kblockd_schedule_work(rq->q, &rq->mq_flush_work);
return false;
} else {
- list_add_tail(&rq->queuelist, &rq->q->queue_head);
+ if (add_front)
+ list_add(&rq->queuelist, &rq->q->queue_head);
+ else
+ list_add_tail(&rq->queuelist, &rq->q->queue_head);
return true;
}
}
return true;
}
}
@@
-193,7
+196,7
@@
static bool blk_flush_complete_seq(struct request *rq, unsigned int seq,
case REQ_FSEQ_DATA:
list_move_tail(&rq->flush.list, &q->flush_data_in_flight);
case REQ_FSEQ_DATA:
list_move_tail(&rq->flush.list, &q->flush_data_in_flight);
- queued = blk_flush_queue_rq(rq);
+ queued = blk_flush_queue_rq(rq
, true
);
break;
case REQ_FSEQ_DONE:
break;
case REQ_FSEQ_DONE:
@@
-326,7
+329,7
@@
static bool blk_kick_flush(struct request_queue *q)
q->flush_rq->rq_disk = first_rq->rq_disk;
q->flush_rq->end_io = flush_end_io;
q->flush_rq->rq_disk = first_rq->rq_disk;
q->flush_rq->end_io = flush_end_io;
- return blk_flush_queue_rq(q->flush_rq);
+ return blk_flush_queue_rq(q->flush_rq
, false
);
}
static void flush_data_end_io(struct request *rq, int error)
}
static void flush_data_end_io(struct request *rq, int error)
@@
-411,7
+414,7
@@
void blk_insert_flush(struct request *rq)
if ((policy & REQ_FSEQ_DATA) &&
!(policy & (REQ_FSEQ_PREFLUSH | REQ_FSEQ_POSTFLUSH))) {
if (q->mq_ops) {
if ((policy & REQ_FSEQ_DATA) &&
!(policy & (REQ_FSEQ_PREFLUSH | REQ_FSEQ_POSTFLUSH))) {
if (q->mq_ops) {
- blk_mq_
run_request(rq
, false, true);
+ blk_mq_
insert_request(rq, false
, false, true);
} else
list_add_tail(&rq->queuelist, &q->queue_head);
return;
} else
list_add_tail(&rq->queuelist, &q->queue_head);
return;