drbd: Fixed conn_lowest_minor
authorPhilipp Reisner <philipp.reisner@linbit.com>
Tue, 22 Mar 2011 11:51:21 +0000 (12:51 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:44:28 +0000 (16:44 +0100)
It actually returned the lowest volume number. While doing that
renamed a few wrongly named variables.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_nl.c
drivers/block/drbd/drbd_state.c

index bdb12723585e7074235fb3a39ade63570c4e5aa1..2dfbcfa1a7b2b57499159e149a1fc47117663208 100644 (file)
@@ -434,7 +434,7 @@ void tl_clear(struct drbd_tconn *tconn)
        struct drbd_conf *mdev;
        struct list_head *le, *tle;
        struct drbd_request *r;
-       int minor;
+       int vnr;
 
        spin_lock_irq(&tconn->req_lock);
 
@@ -453,7 +453,7 @@ void tl_clear(struct drbd_tconn *tconn)
        }
 
        /* ensure bit indicating barrier is required is clear */
-       idr_for_each_entry(&tconn->volumes, mdev, minor)
+       idr_for_each_entry(&tconn->volumes, mdev, vnr)
                clear_bit(CREATE_BARRIER, &mdev->flags);
 
        spin_unlock_irq(&tconn->req_lock);
@@ -634,11 +634,13 @@ char *drbd_task_to_thread_name(struct drbd_tconn *tconn, struct task_struct *tas
 
 int conn_lowest_minor(struct drbd_tconn *tconn)
 {
-       int minor = 0;
+       int vnr = 0;
+       struct drbd_conf *mdev;
 
-       if (!idr_get_next(&tconn->volumes, &minor))
+       mdev = idr_get_next(&tconn->volumes, &vnr);
+       if (!mdev)
                return -1;
-       return minor;
+       return mdev_to_minor(mdev);
 }
 
 #ifdef CONFIG_SMP
index 18cd2ed4e8ca503c432dbf987fa6dacdf7cc53ff..d903fb5ea41c3b59d9544fc5d085a086aa69f3e0 100644 (file)
@@ -326,9 +326,9 @@ int drbd_khelper(struct drbd_conf *mdev, char *cmd)
 static void conn_md_sync(struct drbd_tconn *tconn)
 {
        struct drbd_conf *mdev;
-       int minor;
+       int vnr;
 
-       idr_for_each_entry(&tconn->volumes, mdev, minor)
+       idr_for_each_entry(&tconn->volumes, mdev, vnr)
                drbd_md_sync(mdev);
 }
 
index 77fad527fb1d287c80550b446851cdeff85b2941..cb08e011c2885d65b21f911f947666dc28a994e0 100644 (file)
@@ -50,9 +50,9 @@ static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state
 bool conn_all_vols_unconf(struct drbd_tconn *tconn)
 {
        struct drbd_conf *mdev;
-       int minor;
+       int vnr;
 
-       idr_for_each_entry(&tconn->volumes, mdev, minor) {
+       idr_for_each_entry(&tconn->volumes, mdev, vnr) {
                if (mdev->state.disk != D_DISKLESS ||
                    mdev->state.conn != C_STANDALONE ||
                    mdev->state.role != R_SECONDARY)
@@ -332,9 +332,9 @@ static void print_state_change(struct drbd_conf *mdev, union drbd_state os, unio
 static bool vol_has_primary_peer(struct drbd_tconn *tconn)
 {
        struct drbd_conf *mdev;
-       int minor;
+       int vnr;
 
-       idr_for_each_entry(&tconn->volumes, mdev, minor) {
+       idr_for_each_entry(&tconn->volumes, mdev, vnr) {
                if (mdev->state.peer == R_PRIMARY)
                        return true;
        }
This page took 0.030532 seconds and 5 git commands to generate.