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