You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.2 KiB
55 lines
2.2 KiB
From 921c30674e9bc719e7c2747deb6deb04be2adb4b Mon Sep 17 00:00:00 2001 |
|
From: "Darrick J. Wong" <darrick.wong@oracle.com> |
|
Date: Thu, 9 Nov 2017 11:35:22 -0600 |
|
Subject: [PATCH] db: increase metadump's default overly long extent discard |
|
threshold |
|
|
|
Back in 88b8e1d6d7 ("Make xfs_metadump more robust against bad data"), |
|
metadump grew the ability to ignore a directory extent if it was longer |
|
than 20 blocks. Presumably this was to protect metadump from dumping |
|
absurdly long extents resulting from bmbt corruption, but it's certainly |
|
possible to create a directory with an extent longer than 20 blocks. |
|
Hilariously, the discards happen with no warning unless the caller |
|
explicitly set -w. |
|
|
|
This was raised to 1000 blocks in 7431d134fe8 ("Increase default maximum |
|
extent size for xfs_metadump when copying..."), but it's still possible |
|
to create a directory with an extent longer than 1000 blocks. |
|
|
|
Increase the threshold to MAXEXTLEN blocks because it's totally valid |
|
for the filesystem to create extents up to that length. |
|
|
|
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> |
|
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> |
|
Signed-off-by: Eric Sandeen <sandeen@sandeen.net> |
|
--- |
|
db/metadump.c | 2 +- |
|
man/man8/xfs_metadump.8 | 2 +- |
|
2 files changed, 2 insertions(+), 2 deletions(-) |
|
|
|
Index: xfsprogs-4.5.0/db/metadump.c |
|
=================================================================== |
|
--- xfsprogs-4.5.0.orig/db/metadump.c |
|
+++ xfsprogs-4.5.0/db/metadump.c |
|
@@ -32,7 +32,7 @@ |
|
#include "field.h" |
|
#include "dir2.h" |
|
|
|
-#define DEFAULT_MAX_EXT_SIZE 1000 |
|
+#define DEFAULT_MAX_EXT_SIZE MAXEXTLEN |
|
|
|
/* |
|
* It's possible that multiple files in a directory (or attributes |
|
Index: xfsprogs-4.5.0/man/man8/xfs_metadump.8 |
|
=================================================================== |
|
--- xfsprogs-4.5.0.orig/man/man8/xfs_metadump.8 |
|
+++ xfsprogs-4.5.0/man/man8/xfs_metadump.8 |
|
@@ -114,7 +114,7 @@ copied. |
|
.B \-m |
|
Set the maximum size of an allowed metadata extent. Extremely large metadata |
|
extents are likely to be corrupt, and will be skipped if they exceed |
|
-this value. The default size is 1000 blocks. |
|
+this value. The default size is 2097151 blocks. |
|
.TP |
|
.B \-o |
|
Disables obfuscation of file names and extended attributes.
|
|
|