|
@@ -2138,7 +2138,11 @@ int drbd_gen_and_send_sync_uuid(struct drbd_conf *mdev)
|
|
|
|
|
|
D_ASSERT(mdev->state.disk == D_UP_TO_DATE);
|
|
|
|
|
|
- uuid = mdev->ldev->md.uuid[UI_BITMAP] + UUID_NEW_BM_OFFSET;
|
|
|
+ uuid = mdev->ldev->md.uuid[UI_BITMAP];
|
|
|
+ if (uuid && uuid != UUID_JUST_CREATED)
|
|
|
+ uuid = uuid + UUID_NEW_BM_OFFSET;
|
|
|
+ else
|
|
|
+ get_random_bytes(&uuid, sizeof(u64));
|
|
|
drbd_uuid_set(mdev, UI_BITMAP, uuid);
|
|
|
drbd_print_uuids(mdev, "updated sync UUID");
|
|
|
drbd_md_sync(mdev);
|