Provided by: btrfs-tools_4.4-1_amd64
btrfs-restore - try to restore files from a damaged btrfs filesystem image
btrfs restore [options] <device> <path> | -l <device>
btrfs restore is used to try to salvage files from a damaged filesystem and restore them into <path> or just list the tree roots. Since current btrfs-check(8) or btrfs-rescue(8) only has very limited usage, btrfs restore is normally a better choice. Note It is recommended to read the following btrfs wiki page if your data is not salvaged with default option: https://btrfs.wiki.kernel.org/index.php/Restore
-s|--snapshots get snapshots, btrfs restore skips snapshots in default. -x|--xattr get extended attributes. -m|--metadata restore owner, mode and times. -S|--symlinks restore symbolic links as well as normal files. -v|--verbose verbose. -i|--ignore-errors ignore errors. -o|--overwrite overwrite directories/files in <path>. -t <bytenr> use <bytenr> to read root tree. -f <bytenr> only restore files that are under specified root whose root bytenr is <bytenr>. -u|--super <mirror> use given superblock mirror identified by <mirror>, it can be 0,1,2. -r|--root <rootid> only restore files that are under specified root whose objectid is <rootid>. -d find dir. -l|--list-roots list tree roots. -D|--dry-run dry run (only list files that would be recovered). --path-regex <regex> restore only filenames matching regex, you have to use following syntax (possibly quoted): ^/(|home(|/username(|/Desktop(|/.*))))$ -c ignore case (--path-regex only).
btrfs restore returns a zero exit status if it succeeds. Non zero is returned in case of failure.
btrfs is part of btrfs-progs. Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for further details.
mkfs.btrfs(8), btrfs-rescue(8), btrfs-check(8)