diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-22 19:11:06 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-22 19:11:06 -0700 |
commit | 69450bb5eb8e9df28281c62f98e971c9969dc4ff (patch) | |
tree | 85991e6e8b74cb08b5013fd7e419c3df67d23e35 /block/ll_rw_blk.c | |
parent | e38f981758118d829cd40cfe9c09e3fa81e422aa (diff) | |
parent | d6ec084200c37683278c821338f74ddf21ab80f5 (diff) |
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block
* 'sg' of git://git.kernel.dk/linux-2.6-block:
Add CONFIG_DEBUG_SG sg validation
Change table chaining layout
Update arch/ to use sg helpers
Update swiotlb to use sg helpers
Update net/ to use sg helpers
Update fs/ to use sg helpers
[SG] Update drivers to use sg helpers
[SG] Update crypto/ to sg helpers
[SG] Update block layer to use sg helpers
[SG] Add helpers for manipulating SG entries
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r-- | block/ll_rw_blk.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 8025d646ab3..61c2e396f2f 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -1354,8 +1354,9 @@ new_segment: 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 @@ new_segment: bvprv = bvec; } /* segments in rq */ + if (sg) + __sg_mark_end(sg); + return nsegs; } |