Consider a computer currently swapping blocks with each of
partners. In return for
blocks of local disk, it
has access to a logical disk of size
blocks. If it needs
additional logical-disk space, it can either add more partners swapping
blocks each (presumedly maintaining a similar ratio of
and
)
or switch to
new partners willing to swap
blocks each.
Adding partners increases the amount of overhead due to per-partner
costs (especially under the full scheme where we must periodically check
on each partner), but requires issuing a new current partner list less
often.
The same methods run in reverse can be used to shrink the logical disk. Partners holding redundancy blocks can also be added or removed to adjust the reliability level. Most of these changes require moving data around to maintain a sequential image (i.e., adding partners adds blocks to every stripe row, rather than just adding a bunch of blocks at the end of the disk). By using the master block and version numbers, this can be done using no extra space in a restartable way with restoration always possible.