btrfs-progs/man/btrfs-image.8.in
Josef Bacik bd338824de Btrfs-image: add the ability to santize file names when making an image
We've had a few users who wouldn't (or couldn't) provide us btrfs-images because
we maintain the file names when making an image.  So introduce a sanitize
option.  There are two uses, one that is fast and the other that is dog slow.
The fast way just generates garbage that's equal in length to the original name.
The slow way will try and find a crc32c collision for the file name that is also
the same length.  Finding a crc32c collision for the file name "btrfs-progs" on
my box without CPU crc32c support takes a little more than 3 minutes, and a
little less than 2 minutes for my box that has CPU crc32c support, so it's a
lengthy and CPU intensive process.

The idea is that we use -s for most cases, and then only use -ss when we need
the file system tree to be somewhat sane.  I could probably do a better job
about finding collisions, but I'll have to revist that later.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-06-19 13:35:15 -04:00

53 lines
1.9 KiB
Groff

.TH BTRFS-IMAGE 8
.SH NAME
btrfs-image \- create/restore an image of the filesystem
.SH SYNOPSIS
.B btrfs-image
[options] \fIsource\fP \fItarget\fP
.SH DESCRIPTION
.B btrfs-image
is used to create an image of a btrfs filesystem. All data will be zeroed,
but metadata and the like is preserved.
.I source
is the special file corresponding to the device containing a btrfs filesystem.
(e.g \fI/dev/sdXX\fP).
.I target
is the image file that btrfs-image creates. When used with \fB-r\fP option,
\fBbtrfs-image\fP restores the image file from source into target.
.SH OPTIONS
.TP
\fB\-r\fP
restore metadump image.
.TP
\fB\-c\fR \fIvalue\fP
compression level (0 ~ 9).
.TP
\fB\-t\fR \fIvalue\fP
number of threads (1 ~ 32) to be used to process the image dump or restore.
.TP
\fB\-o\fP
use the old restore method, this does not fixup the chunk tree so the restored
file system will not be able to be mounted.
.TP
\fB\-s\fP
Sanitize the file names when generating the image. One \fB-s\fP means just
generate random garbage, which means that the directory indexes won't match up
since the hashes won't match with the garbage filenames. Using \fB-ss\fP will
calculate a collision for the filename so that the hashes match, and if it
can't calculate a collision then it will just generate garbage. The collision
calculator is very time and CPU intensive so only use it if you are having
problems with your file system tree and need to have it mostly working.
.TP
\fB\-w\fP
Walk all the trees manually and copy any blocks that are referenced. Use this
option if your extent tree is corrupted to make sure that all of the metadata is
captured.
.SH AVAILABILITY
.B btrfs-image
is part of btrfs-progs. Btrfs is currently under heavy development,
and not suitable for any uses other than benchmarking and review.
Please refer to the btrfs wiki
http://btrfs.wiki.kernel.org for further details.
.SH SEE ALSO
.BR btrfsck (8), mkfs.btrfs (8)