btrfs-progs: add warning for -s option of btrfs-image
The filename sanitization is not recommended as it introduces mismatches between DIR_ITEM and INODE_REF. Even hash collision mode (double "-s" option) is not ensured to always find a hash collision, and when fails to find one, a mismatch happens. And when a mismatch happens, the kernel will not resolve the path correctly since kernel uses the hash from DIR_ITEM to lookup the child inode. So add a warning into the "-s" option of btrfs-image. Signed-off-by: Qu Wenruo <wqu@suse.com>
This commit is contained in:
parent
565d6d57f4
commit
fd47b9b1e1
|
@ -37,13 +37,17 @@ OPTIONS
|
||||||
file system will not be able to be mounted.
|
file system will not be able to be mounted.
|
||||||
|
|
||||||
-s
|
-s
|
||||||
Sanitize the file names when generating the image. One -s means just
|
Sanitize the file names when generating the image. Not recommended as
|
||||||
generate random garbage, which means that the directory indexes won't match up
|
this would introduce new file name hash mismatches, thus if your
|
||||||
since the hashes won't match with the garbage filenames. Using *-s* will
|
problem involves subvolume tress, it can even mask existing problems.
|
||||||
calculate a collision for the filename so that the hashes match, and if it
|
Furthermore kernels can not do proper path resolution due to the
|
||||||
can't calculate a collision then it will just generate garbage. The collision
|
introduced hash mismatches.
|
||||||
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.
|
One *-s* means just generate random garbage, which means that the
|
||||||
|
directory hash won't match its file names. Using two *-s* will
|
||||||
|
calculate a collision for the file name 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.
|
||||||
|
|
||||||
-w
|
-w
|
||||||
Walk all the trees manually and copy any blocks that are referenced. Use this
|
Walk all the trees manually and copy any blocks that are referenced. Use this
|
||||||
|
|
Loading…
Reference in New Issue