diff --git a/lib/bdev.py b/lib/bdev.py index 5f94d5078c123f59a93c18b91cf7c9a8bd8eb083..006e5e3cf83e5cc85a4449064d3ef9ae753eb556 100644 --- a/lib/bdev.py +++ b/lib/bdev.py @@ -828,7 +828,13 @@ class BaseDRBD(BlockDev): bytes = sectors * 512 if bytes < 128 * 1024 * 1024: # less than 128MiB _ThrowError("Meta device too small (%.2fMib)", (bytes / 1024 / 1024)) - if bytes > (128 + 32) * 1024 * 1024: # account for an extra (big) PE on LVM + # the maximum *valid* size of the meta device when living on top + # of LVM is hard to compute: it depends on the number of stripes + # and the PE size; e.g. a 2-stripe, 64MB PE will result in a 128MB + # (normal size), but an eight-stripe 128MB PE will result in a 1GB + # size meta device; as such, we restrict it to 1GB (a little bit + # too generous, but making assumptions about PE size is hard) + if bytes > 1024 * 1024 * 1024: _ThrowError("Meta device too big (%.2fMiB)", (bytes / 1024 / 1024)) def Rename(self, new_id):