소스 검색

[SG] Update block layer to use sg helpers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe 18 년 전
부모
커밋
9b61764bcb
1개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 2
      block/ll_rw_blk.c

+ 6 - 2
block/ll_rw_blk.c

@@ -1354,8 +1354,9 @@ int blk_rq_map_sg(struct request_queue *q, struct request *rq,
 			else
 				sg = sg_next(sg);
 
-			memset(sg, 0, sizeof(*sg));
-			sg->page = bvec->bv_page;
+			sg_dma_len(sg) = 0;
+			sg_dma_address(sg) = 0;
+			sg_set_page(sg, bvec->bv_page);
 			sg->length = nbytes;
 			sg->offset = bvec->bv_offset;
 			nsegs++;
@@ -1363,6 +1364,9 @@ int blk_rq_map_sg(struct request_queue *q, struct request *rq,
 		bvprv = bvec;
 	} /* segments in rq */
 
+	if (sg)
+		__sg_mark_end(sg);
+
 	return nsegs;
 }