• non_burglar@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    4
    ·
    edit-2
    21 hours ago

    Edit2: the following is no longer true, so ignore it.

    Why do you want this? There are very few valid use cases for it.

    Edit: this is a serious question. Adding a member to a vdev does not automatically move any of the parity or data distribution off the old vdev. You’ll not only have old data distributed on old vdev layout until you copy it back, but you’ll also now have a mix of io requests for old and new vdev layout, which will kill performance.

    Not to mention that the metadata is now stored for new layout, which means reads from the old layout will cause rw on both layouts. It’s not actually something anyone should want, unless they are really, really stuck for expansion.

    And we’re talking about a hypervisor here, so performance is likely a factor.

    Jim Salter did a couple writeups on this.

    • Saik0@lemmy.saik0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      21 hours ago

      Adding a member to a vdev does not automatically move any of the parity or data distribution off the old vdev.

      Yes it does. ZFS does a full resilver after the addition. Jim Salter’s write ups are from 4 years ago. Shit changes.

      Edit: and even if it didn’t… It’s trivial to write a script that rewrites all the data to move it into the new structure. To say there’s no valid cases when even in 2021 there was an answer to the problem is a bit crazy.