[dm-devel] [PATCH] dm-mpath: Change _mpath_lock to a semaphore

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

 



Change _mpath_lock from a spinlock to a semaphore.

--- diff/drivers/md/dm-mpath.c	2004-02-12 13:58:08.000000000 -0600
+++ source/drivers/md/dm-mpath.c	2004-02-12 13:55:30.000000000 -0600
@@ -304,7 +304,7 @@
 static struct dm_daemon _kmpathd;
 
 static LIST_HEAD(_mpaths);
-static spinlock_t _mpath_lock = SPIN_LOCK_UNLOCKED;
+static DECLARE_MUTEX(_mpath_lock);
 
 static void submit_ios(struct bio *bio)
 {
@@ -409,7 +409,7 @@
 	struct multipath *m;
 	unsigned interval = 0;
 
-	spin_lock(&_mpath_lock);
+	down(&_mpath_lock);
 	list_for_each_entry (m, &_mpaths, list) {
 		dispatch_failed_ios(m);
 		iterate_paths(m, test_path);
@@ -424,7 +424,7 @@
 
 		interval = min_not_zero(interval, m->test_interval);
 	}
-	spin_unlock(&_mpath_lock);
+	up(&_mpath_lock);
 
 	blk_run_queues();
 
@@ -689,9 +689,9 @@
 	ti->private = m;
 	m->ti = ti;
 
-	spin_lock(&_mpath_lock);
+	down(&_mpath_lock);
 	list_add(&m->list, &_mpaths);
-	spin_unlock(&_mpath_lock);
+	up(&_mpath_lock);
 
 	return 0;
 
@@ -704,9 +704,9 @@
 {
 	struct multipath *m = (struct multipath *) ti->private;
 
-	spin_lock(&_mpath_lock);
+	down(&_mpath_lock);
 	list_del(&m->list);
-	spin_unlock(&_mpath_lock);
+	up(&_mpath_lock);
 
 	free_multipath(m);
 }



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

  Powered by Linux