瀏覽代碼

lightnvm: check bi_error in gc

We should check last io completion status before
starting another one.

Signed-off-by: Wenwei Tao <ww.tao0320@gmail.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
Wenwei Tao 9 年之前
父節點
當前提交
2b11c1b24e
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      drivers/lightnvm/rrpc.c

+ 6 - 0
drivers/lightnvm/rrpc.c

@@ -330,6 +330,10 @@ try:
 			goto finished;
 		}
 		wait_for_completion_io(&wait);
+		if (bio->bi_error) {
+			rrpc_inflight_laddr_release(rrpc, rqd);
+			goto finished;
+		}
 
 		bio_reset(bio);
 		reinit_completion(&wait);
@@ -352,6 +356,8 @@ try:
 		wait_for_completion_io(&wait);
 
 		rrpc_inflight_laddr_release(rrpc, rqd);
+		if (bio->bi_error)
+			goto finished;
 
 		bio_reset(bio);
 	}