OSDN Git Service

Merge Linux 4.4.206-rc1 into 10
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / drivers / block / drbd / drbd_nl.c
index 201c25f..5093fbc 100644 (file)
@@ -1685,9 +1685,9 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)
                }
        }
 
-       if (device->state.conn < C_CONNECTED &&
-           device->state.role == R_PRIMARY && device->ed_uuid &&
-           (device->ed_uuid & ~((u64)1)) != (nbc->md.uuid[UI_CURRENT] & ~((u64)1))) {
+       if (device->state.pdsk != D_UP_TO_DATE && device->ed_uuid &&
+           (device->state.role == R_PRIMARY || device->state.peer == R_PRIMARY) &&
+            (device->ed_uuid & ~((u64)1)) != (nbc->md.uuid[UI_CURRENT] & ~((u64)1))) {
                drbd_err(device, "Can only attach to data with current UUID=%016llX\n",
                    (unsigned long long)device->ed_uuid);
                retcode = ERR_DATA_NOT_CURRENT;