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 07ab75403e1a..cce7a88dc612 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1739,10 +1739,14 @@ static int __end_that_request_first(struct request *req, int error,
1739 trace_block_rq_complete(req->q, req); 1739 trace_block_rq_complete(req->q, req);
1740 1740
1741 /* 1741 /*
1742 * for a REQ_TYPE_BLOCK_PC request, we want to carry any eventual 1742 * For fs requests, rq is just carrier of independent bio's
1743 * sense key with us all the way through 1743 * and each partial completion should be handled separately.
1744 * Reset per-request error on each partial completion.
1745 *
1746 * TODO: tj: This is too subtle. It would be better to let
1747 * low level drivers do what they see fit.
1744 */ 1748 */
1745 if (!blk_pc_request(req)) 1749 if (blk_fs_request(req))
1746 req->errors = 0; 1750 req->errors = 0;
1747 1751
1748 if (error && (blk_fs_request(req) && !(req->cmd_flags & REQ_QUIET))) { 1752 if (error && (blk_fs_request(req) && !(req->cmd_flags & REQ_QUIET))) {