[dm-devel] [PATCH] 6/9: Use a bio_list for failed_ios

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Change the failed_ios list in the multipath structure from a stack to a queue
using the new bio_list services.
--- diff/drivers/md/dm-mpath.c	2004-01-13 15:12:18.000000000 -0600
+++ source/drivers/md/dm-mpath.c	2004-01-13 15:15:12.000000000 -0600
@@ -7,6 +7,7 @@
 #include "dm.h"
 #include "dm-daemon.h"
 #include "dm-path-selector.h"
+#include "dm-bio-list.h"
 
 #include <linux/ctype.h>
 #include <linux/init.h>
@@ -59,7 +60,7 @@
 	unsigned min_io;
 
 	spinlock_t failed_lock;
-	struct bio *failed_ios;
+	struct bio_list failed_ios;
 
 	unsigned test_interval;
 	atomic_t trigger_event;
@@ -238,8 +239,7 @@
 	struct bio *bio, *next_bio;
 
 	spin_lock_irqsave(&m->failed_lock, flags);
-	bio = m->failed_ios;
-	m->failed_ios = NULL;
+	bio = bio_list_get(&m->failed_ios);
 	spin_unlock_irqrestore(&m->failed_lock, flags);
 
 	while (bio) {
@@ -690,8 +690,7 @@
 		if (!r) {
 			/* queue for the daemon to resubmit */
 			spin_lock_irqsave(&m->failed_lock, flags);
-			bio->bi_next = m->failed_ios;
-			m->failed_ios = bio;
+			bio_list_add(&m->failed_ios, bio);
 			spin_unlock_irqrestore(&m->failed_lock, flags);
 
 			dm_daemon_wake(&_kmpathd);




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux