Hey.

I regularly do the following with btrfs, which seems to work pretty
stable since years:
- having n+1 filesystems MASTER and COPY_n
- creating snapshots on MASTER, e.g. one each month
- incremental send/receive the new snapshot from MASTER to each of
  COPY_n (which already have the previous snapshot)


so for example:
- MASTER has
  - snapshot-2020-11/
  - snapshot-2020-12/
  and newly get's
  - snapshot-2021-01/
- each of COPY_n has only
  - snapshot-2020-11/
  - snapshot-2020-12(
- with:
  # btrfs send -p MASTER/snapshot-2020-12 MASTER/snapshot-2021-01  |  btrfs 
receive COPY_n/
  I incrementally send the new snapshot from MASTER to each of COPY_n
  using the already available previous snapshot as parent.

Works(TM)



Now I basically want to swap a MASTER with a COPY_n (e.g. because
MASTER's HDD has started to age).

So the plan is e.g.:
- COPY_1 becomes NEW_MASTER
- MASTER becomes OLD_MASTER later known NEW_COPY_1

a) Can I then start e.g. in February to incrementally send/receive from
NEW_MASTER back(!!) to OLD_MASTER?
Like:
# btrfs send -p NEW_MASTER/snapshot-2021-01 NEW_MASTER/snapshot-2021-02  |  
btrfs receive OLD_MASTER/

b) And the same from NEW_MSTER to all the other COPY_n?
Like:
# btrfs send -p NEW_MASTER/snapshot-2021-01 NEW_MASTER/snapshot-2021-02  |  
btrfs receive COPY_n


So in other words, does btrfs get, that the new parent (which is no
longer on the OLD_MASTER but the previous COPY_1, now NEW_MASTER) is
already present (and identical and usable) on the OLD_MASTER, now
NEW_COPY_1, and also on the other COPY_n ?


By the way, I'm talking about *precious* data, so I'd like to be really
sure that this works... and whether it's intended to work and ideally
have been tested.


Thanks,
Chris.

Reply via email to