aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index 9475bf99b891..648f15cb41f1 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1732,10 +1732,14 @@ static int __end_that_request_first(struct request *req, int error,
1732 trace_block_rq_complete(req->q, req); 1732 trace_block_rq_complete(req->q, req);
1733 1733
1734 /* 1734 /*
1735 * for a REQ_TYPE_BLOCK_PC request, we want to carry any eventual 1735 * For fs requests, rq is just carrier of independent bio's
1736 * sense key with us all the way through 1736 * and each partial completion should be handled separately.
1737 * Reset per-request error on each partial completion.
1738 *
1739 * TODO: tj: This is too subtle. It would be better to let
1740 * low level drivers do what they see fit.
1737 */ 1741 */
1738 if (!blk_pc_request(req)) 1742 if (blk_fs_request(req))
1739 req->errors = 0; 1743 req->errors = 0;
1740 1744
1741 if (error && (blk_fs_request(req) && !(req->cmd_flags & REQ_QUIET))) { 1745 if (error && (blk_fs_request(req) && !(req->cmd_flags & REQ_QUIET))) {