Repository navigation
Commit f0ec553
committed
linstor: record the size of the DRBD device as the volume size
Linstor rounds the storage of a volume up (e.g. to the LVM extent size)
and DRBD makes all of it usable, so the device a VM sees is usually a
few MiB larger than the size CloudStack requested and records: a 512 MiB
volume has a 540909568 byte device. Filesystems the guest creates on the
whole disk, or grows to its end (cloud-init growpart), use that space,
but the copies CloudStack makes are cut at the recorded size: snapshot
backups to secondary storage are shrunk to it, and a copy opened at its
own size then holds a filesystem larger than the disk.
The driver now records the size of the device after creating a volume
(new, cloned from a template or from a snapshot) and after a resize, and
notifies the hypervisor of that size. Existing volumes are corrected
before a snapshot and before a copy to secondary storage. The recorded
size only grows, and the difference is counted against the account's
primary storage, except on resize, which counts the recorded size itself.
The device size is the smallest usable size of the top layer on the
diskful resources; diskless resources only report the size of the volume
definition. With DrbdOptions/ExactSize the device has the size of the
volume definition.1 parent d02adcd commit f0ec553
4 files changed
Lines changed: 302 additions & 2 deletions
File tree
- plugins/storage/volume/linstor/src
- main/java/org/apache/cloudstack/storage/datastore
- driver
- util
- test/java/org/apache/cloudstack/storage/datastore
- driver
- util
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
76 | 77 | | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| 84 | + | |
83 | 85 | | |
84 | 86 | | |
85 | 87 | | |
| |||
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| 138 | + | |
| 139 | + | |
136 | 140 | | |
137 | 141 | | |
138 | 142 | | |
| |||
354 | 358 | | |
355 | 359 | | |
356 | 360 | | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
357 | 388 | | |
358 | 389 | | |
359 | 390 | | |
| |||
614 | 645 | | |
615 | 646 | | |
616 | 647 | | |
| 648 | + | |
617 | 649 | | |
618 | 650 | | |
619 | 651 | | |
| |||
975 | 1007 | | |
976 | 1008 | | |
977 | 1009 | | |
| 1010 | + | |
| 1011 | + | |
978 | 1012 | | |
979 | 1013 | | |
| 1014 | + | |
980 | 1015 | | |
981 | 1016 | | |
982 | 1017 | | |
| |||
1205 | 1240 | | |
1206 | 1241 | | |
1207 | 1242 | | |
| 1243 | + | |
1208 | 1244 | | |
1209 | 1245 | | |
1210 | 1246 | | |
1211 | 1247 | | |
1212 | 1248 | | |
1213 | | - | |
| 1249 | + | |
1214 | 1250 | | |
1215 | 1251 | | |
1216 | 1252 | | |
| |||
1244 | 1280 | | |
1245 | 1281 | | |
1246 | 1282 | | |
| 1283 | + | |
1247 | 1284 | | |
1248 | 1285 | | |
1249 | 1286 | | |
| |||
1257 | 1294 | | |
1258 | 1295 | | |
1259 | 1296 | | |
| 1297 | + | |
| 1298 | + | |
1260 | 1299 | | |
1261 | 1300 | | |
1262 | 1301 | | |
| |||
1270 | 1309 | | |
1271 | 1310 | | |
1272 | 1311 | | |
1273 | | - | |
| 1312 | + | |
1274 | 1313 | | |
1275 | 1314 | | |
1276 | 1315 | | |
| |||
1313 | 1352 | | |
1314 | 1353 | | |
1315 | 1354 | | |
| 1355 | + | |
| 1356 | + | |
1316 | 1357 | | |
1317 | 1358 | | |
1318 | 1359 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
26 | 28 | | |
27 | 29 | | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
| |||
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
| 40 | + | |
37 | 41 | | |
38 | 42 | | |
39 | 43 | | |
| |||
72 | 76 | | |
73 | 77 | | |
74 | 78 | | |
| 79 | + | |
| 80 | + | |
75 | 81 | | |
76 | 82 | | |
77 | 83 | | |
| |||
545 | 551 | | |
546 | 552 | | |
547 | 553 | | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
548 | 611 | | |
549 | 612 | | |
550 | 613 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
| 24 | + | |
| 25 | + | |
23 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
24 | 31 | | |
25 | 32 | | |
26 | 33 | | |
| |||
42 | 49 | | |
43 | 50 | | |
44 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
45 | 57 | | |
46 | 58 | | |
47 | 59 | | |
| |||
54 | 66 | | |
55 | 67 | | |
56 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
57 | 78 | | |
58 | 79 | | |
59 | 80 | | |
| |||
178 | 199 | | |
179 | 200 | | |
180 | 201 | | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
181 | 285 | | |
0 commit comments