[PATCH 2/4] common/fuzzy: ignore padding fields on xfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

Padding fields are never checked and can have arbitrary values (if we
ever put them to use there'll be a feature flag) so there's no point
in fuzz-testing them.

Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
 common/fuzzy |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)


diff --git a/common/fuzzy b/common/fuzzy
index 87f7acc..b9c7399 100644
--- a/common/fuzzy
+++ b/common/fuzzy
@@ -79,6 +79,14 @@ _scratch_scrub() {
 	esac
 }
 
+# Filter out any keys with an array index >= 10, collapse any array range
+# ("[1-195]") to the first item, and ignore padding fields.
+__filter_xfs_db_keys() {
+	sed -e '/\([a-z]*\)\[\([0-9][0-9]\+\)\].*/d' \
+	    -e 's/\([a-zA-Z0-9_]*\)\[\([0-9]*\)-[0-9]*\]/\1[\2]/g' \
+	    -e '/pad/d'
+}
+
 # Filter the xfs_db print command's field debug information
 # into field name and type.
 __filter_xfs_db_print_fields() {
@@ -87,15 +95,13 @@ __filter_xfs_db_print_fields() {
 		filter='^'
 	fi
 	grep ' = ' | while read key equals value; do
-		# Filter out any keys with an array index >= 10, and
-		# collapse any array range ("[1-195]") to the first item.
-		fuzzkey="$(echo "${key}" | sed -e '/\([a-z]*\)\[\([0-9][0-9]\+\)\].*/d' -e 's/\([a-zA-Z0-9_]*\)\[\([0-9]*\)-[0-9]*\]/\1[\2]/g')"
+		fuzzkey="$(echo "${key}" | __filter_xfs_db_keys)"
 		if [ -z "${fuzzkey}" ]; then
 			continue
 		elif [[ "${value}" == "["* ]]; then
 			echo "${value}" | sed -e 's/^.//g' -e 's/.$//g' -e 's/,/\n/g' | while read subfield; do
 				echo "${fuzzkey}.${subfield}"
-			done
+			done | __filter_xfs_db_keys
 		else
 			echo "${fuzzkey}"
 		fi

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux