diff options
-rw-r--r-- | block/blk-integrity.c | 2 | ||||
-rw-r--r-- | block/blk-merge.c | 2 | ||||
-rw-r--r-- | include/linux/scatterlist.h | 16 |
3 files changed, 18 insertions, 2 deletions
diff --git a/block/blk-integrity.c b/block/blk-integrity.c index dabd221857e1..03cf7179e8ef 100644 --- a/block/blk-integrity.c +++ b/block/blk-integrity.c | |||
@@ -110,7 +110,7 @@ new_segment: | |||
110 | if (!sg) | 110 | if (!sg) |
111 | sg = sglist; | 111 | sg = sglist; |
112 | else { | 112 | else { |
113 | sg->page_link &= ~0x02; | 113 | sg_unmark_end(sg); |
114 | sg = sg_next(sg); | 114 | sg = sg_next(sg); |
115 | } | 115 | } |
116 | 116 | ||
diff --git a/block/blk-merge.c b/block/blk-merge.c index 936a110de0b9..5f2448253797 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c | |||
@@ -143,7 +143,7 @@ new_segment: | |||
143 | * termination bit to avoid doing a full | 143 | * termination bit to avoid doing a full |
144 | * sg_init_table() in drivers for each command. | 144 | * sg_init_table() in drivers for each command. |
145 | */ | 145 | */ |
146 | (*sg)->page_link &= ~0x02; | 146 | sg_unmark_end(*sg); |
147 | *sg = sg_next(*sg); | 147 | *sg = sg_next(*sg); |
148 | } | 148 | } |
149 | 149 | ||
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 2d8bdaef9611..bfc47e0de81c 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h | |||
@@ -172,6 +172,22 @@ static inline void sg_mark_end(struct scatterlist *sg) | |||
172 | } | 172 | } |
173 | 173 | ||
174 | /** | 174 | /** |
175 | * sg_unmark_end - Undo setting the end of the scatterlist | ||
176 | * @sg: SG entryScatterlist | ||
177 | * | ||
178 | * Description: | ||
179 | * Removes the termination marker from the given entry of the scatterlist. | ||
180 | * | ||
181 | **/ | ||
182 | static inline void sg_unmark_end(struct scatterlist *sg) | ||
183 | { | ||
184 | #ifdef CONFIG_DEBUG_SG | ||
185 | BUG_ON(sg->sg_magic != SG_MAGIC); | ||
186 | #endif | ||
187 | sg->page_link &= ~0x02; | ||
188 | } | ||
189 | |||
190 | /** | ||
175 | * sg_phys - Return physical address of an sg entry | 191 | * sg_phys - Return physical address of an sg entry |
176 | * @sg: SG entry | 192 | * @sg: SG entry |
177 | * | 193 | * |