Revision 89b70f39 lib/bdev.py
b/lib/bdev.py | ||
---|---|---|
1215 | 1215 |
"--create-device"] |
1216 | 1216 |
if size: |
1217 | 1217 |
args.extend(["-d", "%sm" % size]) |
1218 |
if not constants.DRBD_BARRIERS: # disable barriers, if configured so |
|
1219 |
version = cls._GetVersion() |
|
1220 |
# various DRBD versions support different disk barrier options; |
|
1221 |
# what we aim here is to revert back to the 'drain' method of |
|
1222 |
# disk flushes and to disable metadata barriers, in effect going |
|
1223 |
# back to pre-8.0.7 behaviour |
|
1224 |
vmaj = version['k_major'] |
|
1225 |
vmin = version['k_minor'] |
|
1226 |
vrel = version['k_point'] |
|
1227 |
assert vmaj == 8 |
|
1228 |
if vmin == 0: # 8.0.x |
|
1229 |
if vrel >= 12: |
|
1230 |
args.extend(['-i', '-m']) |
|
1231 |
elif vmin == 2: # 8.2.x |
|
1232 |
if vrel >= 7: |
|
1233 |
args.extend(['-i', '-m']) |
|
1234 |
elif vmaj >= 3: # 8.3.x or newer |
|
1235 |
args.extend(['-i', '-a', 'm']) |
|
1218 | 1236 |
result = utils.RunCmd(args) |
1219 | 1237 |
if result.failed: |
1220 | 1238 |
_ThrowError("drbd%d: can't attach local disk: %s", minor, result.output) |
Also available in: Unified diff