[Bug 1348430] Re: btrfs send does not work for snapshots in subvolumes

Alan Mimms a.mimms at f5.com
Wed Oct 1 22:17:29 UTC 2014


I had this problem as well, and my situation was a little more
complicated to use the workaround.

My subvolume that was being snapshotted for 'btrfs send' to use was at
the top of the hierarchy - there WAS no parent. But BTRFS always has a
parent, so there is still a workaround.

My situation:

root at diskybiz:~# btrfs subv list /x
ID 258 gen 13525 top level 5 path home
ID 259 gen 13521 top level 5 path backups
ID 553 gen 1724 top level 5 path home/@snap-20140811-082041
ID 621 gen 13524 top level 5 path home/backup001

As you can see, the very top of the hierarchy is ID 258 or /home. I
wanted to use that snapshot at ID 621 for my 'btrfs send' command. I had
to determine the parent of the ID 258 subvolume, which I did by "btrfs
subv show /home" and looking at the "Parent:" line. This happens to be
the same as the "top level" number shown in teh "btrfs subv list", but I
wasn't sure that was a subvolume ID, so I went this extra step.

Then I just mounted another mountpoint for my BTRFS filesystem like
this:

root at diskybiz:~# mount -o subvolid=5 /dev/sdc1 /x

That made the root of the filesystem visible on /x. Then I could do my
'btrfs send' like so:

root at diskybiz:~# btrfs send /x/ > /root/home-backup-20141001.btrfs

I hope this helps someone.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to btrfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1348430

Title:
  btrfs send does not work for snapshots in subvolumes

Status in “btrfs-tools” package in Ubuntu:
  Confirmed

Bug description:
  If I create a snapshot, of a subvolume and try to use btrfs send it
  fails with "No such file or directory"

  # sudo btrfs sub create /testvol
  Create subvolume '//testvol'
  # sudo btrfs
  btrfs               btrfsck             btrfs-debug-tree    btrfs-image         btrfs-select-super  btrfstune           
  btrfs-calc-size     btrfs-convert       btrfs-find-root     btrfs-map-logical   btrfs-show-super    btrfs-zero-log      
  # sudo btrfs sub list /
  ID 257 gen 16298 top level 5 path @
  ID 276 gen 16298 top level 257 path testvol
  # sudo btrfs sub snap -r /t
  testvol/ tmp/     
  # sudo btrfs sub snap -r /testvol/ /test-snap
  Create a readonly snapshot of '/testvol/' in '//test-snap'
  # sudo btrfs sub list /
  ID 257 gen 16299 top level 5 path @
  ID 276 gen 16299 top level 257 path testvol
  ID 277 gen 16299 top level 257 path test-snap
  # sudo btrfs send /test-snap/ > /dev/null
  At subvol /test-snap/
  ERROR: open @/test-snap failed. No such file or directory

  This error has been reported upstream:
  https://bugzilla.kernel.org/show_bug.cgi?id=69401

  Because ubuntu creates /home and / on subvolumes this currently
  prevents backup solutions based on btrfs send.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/btrfs-tools/+bug/1348430/+subscriptions



More information about the foundations-bugs mailing list