Control: tag -1 moreinfo Hi Leszek,
Leszek Dubiel <[email protected]> writes: > Package: btrfs-progs > Version: 4.20.1-2 [snip] > Another system has set "default subvolume" to mount. What was this other system? I'm curious because, as far as I know, no distribution officially supports the use of "set-default-subvolume". > # relink files from subvA and subvB to new subvolume C, snap C as read only > btrfs sub create mnt/1/subvC > cp -a --reflink=always mnt/1/subvA_ro mnt/1/subvB_ro mnt/1/subvC Yes, reflink means that the data contained in subvC will be nonexclusive to subvC; however, the *subvolume* subvC (and thus subvC_ro) has no relationship to subvolumes A and B. You can verify this with # btrfs sub list -uqt /filesystem/ Meanwhile, mnt/1/subvC/{subvA_ro,subvB_ro} are no longer subvolumes. > btrfs sub snap mnt/1/subvC -r mnt/1/subvC_ro > > # now send subvC to mnt/2... but ERRORS: > > # ERROR: cannot open subDEF/subvA_ro/fileX: No such file or directory > btrfs send -c mnt/1/subvA_ro -c mnt/1/subvB_ro mnt/1/subvC_ro | btrfs receive > mnt/2/ Why should this work, and what are you trying to do with this last command? This looks like user error to me, because when clones are used with a single parent, a btrfs stream is sent and recieved; Your command appears to fail because no stream is sent. Use this instead (I've tested it with snapshoting subvC from A or B, then proceeding with your deduplicated subvol merging example, then running the send | receive command). # btrfs send -p mnt/1/subvA_ro -c mnt/1/subvB_ro mnt/1/subvC_ro | btrfs receive mnt/2/ Regards, Nicholas
signature.asc
Description: PGP signature

