Re: Btrfs send with parent different size depending on source of files.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux