discover: Handle BTRFS root subvolumes
authorSam Mendoza-Jonas <sam@mendozajonas.com>
Tue, 5 Jan 2016 04:01:58 +0000 (15:01 +1100)
committerSam Mendoza-Jonas <sam@mendozajonas.com>
Tue, 9 Feb 2016 02:37:37 +0000 (13:37 +1100)
commitd9fc4558e66c32834f2a4fdab31010b40f0a88de
tree6ad9090c84d3fc65b4cbcbfde5a41acc802d5c1c
parent01e104dfb79a09bc28f8c5fb65bfe44596c25161
discover: Handle BTRFS root subvolumes

During install some distributions[0] will create subvolumes when formatting
the root filesystem with BTRFS. In particular this can mean that
bootloader config files will appear (in the case of GRUB) under
/var/petitboot/mnt/dev/$device/@/boot/grub/
rather than the expected
/var/petitboot/mnt/dev/$device/boot/grub/

If this is the case, perform all file operations from the parser
relative to this subvolume rather than the mount point. At the moment
this only supports the trivial case where the subvolume name for root is
blank (ie. '@').

[0] In particular, Ubuntu from at least 14.04

Signed-off-by: Sam Mendoza-Jonas <sam@mendozajonas.com>
discover/device-handler.c
discover/device-handler.h
discover/parser.c