mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-16 11:25:31 +00:00
bd338824de
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>
53 lines
1.9 KiB
Groff
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)
|