diff options
Diffstat (limited to 'block/blk-core.c')
-rw-r--r-- | block/blk-core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 4ce953f1b390..fc7d8ad76f44 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -136,7 +136,7 @@ static void req_bio_endio(struct request *rq, struct bio *bio, | |||
136 | { | 136 | { |
137 | struct request_queue *q = rq->q; | 137 | struct request_queue *q = rq->q; |
138 | 138 | ||
139 | if (&q->flush_rq != rq) { | 139 | if (!(rq->cmd_flags & REQ_FLUSH_SEQ)) { |
140 | if (error) | 140 | if (error) |
141 | clear_bit(BIO_UPTODATE, &bio->bi_flags); | 141 | clear_bit(BIO_UPTODATE, &bio->bi_flags); |
142 | else if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) | 142 | else if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) |
@@ -1789,7 +1789,7 @@ static void blk_account_io_done(struct request *req) | |||
1789 | * normal IO on queueing nor completion. Accounting the | 1789 | * normal IO on queueing nor completion. Accounting the |
1790 | * containing request is enough. | 1790 | * containing request is enough. |
1791 | */ | 1791 | */ |
1792 | if (blk_do_io_stat(req) && req != &req->q->flush_rq) { | 1792 | if (blk_do_io_stat(req) && !(req->cmd_flags & REQ_FLUSH_SEQ)) { |
1793 | unsigned long duration = jiffies - req->start_time; | 1793 | unsigned long duration = jiffies - req->start_time; |
1794 | const int rw = rq_data_dir(req); | 1794 | const int rw = rq_data_dir(req); |
1795 | struct hd_struct *part; | 1795 | struct hd_struct *part; |