From 969f3b3ce7d89b70aebdf0cb82325a67041c0f11 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 22 Oct 2007 19:39:33 +0200 Subject: [PATCH] --- yaml --- r: 71999 b: refs/heads/master c: 9b61764bcb4360e04386f0415a01da8271631004 h: refs/heads/master i: 71997: e3b51b54acaeb17b4cad9d2373b451af75aa85ce 71995: d8d481dc4b5c60c4bf166179c605b51e3ea31f50 71991: 66b835f2cb5360932137ec9ae7c9087e40d681de 71983: f3af0378ed59146320700e676476bdb45625373a 71967: 8266552af96d29de043b3fcddd5ce80f1be719e2 71935: a69fa14142e4dbea3c212c36ce2029b7dc6b7967 v: v3 --- [refs] | 2 +- trunk/block/ll_rw_blk.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 260f73168144..fef23254670a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 82f66fbef58de4ad7519708d0b9e685e20fa4e8a +refs/heads/master: 9b61764bcb4360e04386f0415a01da8271631004 diff --git a/trunk/block/ll_rw_blk.c b/trunk/block/ll_rw_blk.c index 8025d646ab30..61c2e396f2fa 100644 --- a/trunk/block/ll_rw_blk.c +++ b/trunk/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; }