diff options
| -rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 4222affff488..adee58e19e83 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
| @@ -1039,6 +1039,8 @@ randomize: | |||
| 1039 | rcu_read_lock(); | 1039 | rcu_read_lock(); |
| 1040 | idr_for_each_entry(&tconn->volumes, mdev, vnr) { | 1040 | idr_for_each_entry(&tconn->volumes, mdev, vnr) { |
| 1041 | kref_get(&mdev->kref); | 1041 | kref_get(&mdev->kref); |
| 1042 | rcu_read_unlock(); | ||
| 1043 | |||
| 1042 | /* Prevent a race between resync-handshake and | 1044 | /* Prevent a race between resync-handshake and |
| 1043 | * being promoted to Primary. | 1045 | * being promoted to Primary. |
| 1044 | * | 1046 | * |
| @@ -1049,8 +1051,6 @@ randomize: | |||
| 1049 | mutex_lock(mdev->state_mutex); | 1051 | mutex_lock(mdev->state_mutex); |
| 1050 | mutex_unlock(mdev->state_mutex); | 1052 | mutex_unlock(mdev->state_mutex); |
| 1051 | 1053 | ||
| 1052 | rcu_read_unlock(); | ||
| 1053 | |||
| 1054 | if (discard_my_data) | 1054 | if (discard_my_data) |
| 1055 | set_bit(DISCARD_MY_DATA, &mdev->flags); | 1055 | set_bit(DISCARD_MY_DATA, &mdev->flags); |
| 1056 | else | 1056 | else |
