Revision f069addf
b/lib/bdev.py | ||
---|---|---|
1032 | 1032 |
return retval |
1033 | 1033 |
|
1034 | 1034 |
@classmethod |
1035 |
def _AssembleLocal(cls, minor, backend, meta): |
|
1035 |
def _AssembleLocal(cls, minor, backend, meta, size):
|
|
1036 | 1036 |
"""Configure the local part of a DRBD device. |
1037 | 1037 |
|
1038 | 1038 |
""" |
1039 | 1039 |
args = ["drbdsetup", cls._DevPath(minor), "disk", |
1040 |
backend, meta, "0", "-e", "detach", "--create-device"] |
|
1040 |
backend, meta, "0", |
|
1041 |
"-d", "%sm" % size, |
|
1042 |
"-e", "detach", |
|
1043 |
"--create-device"] |
|
1041 | 1044 |
result = utils.RunCmd(args) |
1042 | 1045 |
if result.failed: |
1043 | 1046 |
_ThrowError("drbd%d: can't attach local disk: %s", minor, result.output) |
... | ... | |
1114 | 1117 |
self._CheckMetaSize(meta.dev_path) |
1115 | 1118 |
self._InitMeta(self._FindUnusedMinor(), meta.dev_path) |
1116 | 1119 |
|
1117 |
self._AssembleLocal(self.minor, backend.dev_path, meta.dev_path) |
|
1120 |
self._AssembleLocal(self.minor, backend.dev_path, meta.dev_path, self.size)
|
|
1118 | 1121 |
self._children = devices |
1119 | 1122 |
|
1120 | 1123 |
def RemoveChildren(self, devices): |
... | ... | |
1397 | 1400 |
if match_r and "local_dev" not in info: |
1398 | 1401 |
# no local disk, but network attached and it matches |
1399 | 1402 |
self._AssembleLocal(minor, self._children[0].dev_path, |
1400 |
self._children[1].dev_path) |
|
1403 |
self._children[1].dev_path, self.size)
|
|
1401 | 1404 |
if self._MatchesNet(self._GetDevInfo(self._GetShowData(minor))): |
1402 | 1405 |
break |
1403 | 1406 |
else: |
... | ... | |
1448 | 1451 |
minor = self._aminor |
1449 | 1452 |
if self._children and self._children[0] and self._children[1]: |
1450 | 1453 |
self._AssembleLocal(minor, self._children[0].dev_path, |
1451 |
self._children[1].dev_path) |
|
1454 |
self._children[1].dev_path, self.size)
|
|
1452 | 1455 |
if self._lhost and self._lport and self._rhost and self._rport: |
1453 | 1456 |
self._AssembleNet(minor, |
1454 | 1457 |
(self._lhost, self._lport, self._rhost, self._rport), |
Also available in: Unified diff