On Mon, Feb 18, 2019 at 2:36 PM André Malm <admin@xxxxxxxxxx> wrote: > > The reason why I'm using reflinks instead of snapshots is because the > master subvolume is large and will contain hundreds of gigabytes worth > of data. Now if I change / remove, say 10 GB worth of data from the > master subvolume unrelated to the child subvolume I don't want those > gigabytes sent down the wire with btrfs send as they are unrelated. Also > I want to be able to after time, when required, add more data from the > master subvolume to the child. Thats why I can't split the master > subvolume into parts of related data. OK, is it your plan to have both master and child on the destination Btrfs? So you plan to do a 'btrfs send' without -p option to send the entire master subvolume (snapshot) to destination first? And then you want to create the child efficiently using a difference between master and child? Yes I think that might work but I haven't tried it. But of course, master must already be on the destination. btrfs sub create master ##populate the master btrfs sub create childofmaster cp --reflink master/bunchoffiles childofmaster/ btrfs sub snap -r master master.20190218-initial btrfs sub snap -r childofmaster childofmaster.20190218-initial btrfs send master.20190218-initial | btrfs receive /destination/ btrfs send -p master.20190218-initial childofmaster.20190218-initial | btrfs receive /destination/ However your subsequent incremental send/receive has nothing to do with master anymore; you indicate above you don't intent to keep master up to date on the destination. Just child. In that case the incremental changes look like this: cp --reflink master/morefiles childofmaster/ btrfs sub snap -r childofmaster childofmaster.20190218T1905 btrfs send child -p childofmaster.20190218-initial childofmaster.20190218T1905 | btrfs receive /destination/ cp --reflink master/yetmorefiles childofmaster/ btrfs sub snap -r childofmaster childofmaster.20190219T1301 btrfs send child childofmaster.20190218T1905 childofmaster.20190218T1905 | btrfs receive /destination/ -- Chris Murphy
