aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjblunck@suse.de <jblunck@suse.de>2005-11-21 21:32:36 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-22 09:14:31 -0800
commit233886dd32ad71daf9c21bf3728c0933a94870f0 (patch)
tree4c60f5639c0983a76a43f51917868bce48acc4f9
parent[PATCH] device-mapper dm-mpath: endio spinlock fix (diff)
downloadlinux-dev-233886dd32ad71daf9c21bf3728c0933a94870f0.tar.xz
linux-dev-233886dd32ad71daf9c21bf3728c0933a94870f0.zip
[PATCH] device-mapper snapshot: bio_list fix
bio_list_merge() should do nothing if the second list is empty - not oops. Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/md/dm-bio-list.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/dm-bio-list.h b/drivers/md/dm-bio-list.h
index bc021e1fd4d1..bbf4615f0e30 100644
--- a/drivers/md/dm-bio-list.h
+++ b/drivers/md/dm-bio-list.h
@@ -33,6 +33,9 @@ static inline void bio_list_add(struct bio_list *bl, struct bio *bio)
static inline void bio_list_merge(struct bio_list *bl, struct bio_list *bl2)
{
+ if (!bl2->head)
+ return;
+
if (bl->tail)
bl->tail->bi_next = bl2->head;
else