[PATCH v2 1/5] fstests: add _filter_filefrag

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



_filter_filefrag is a helper function to filter filefrag's output and it
can be used to get a file's file offset and physical offset.

Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
---
 common/filter | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/common/filter b/common/filter
index 5fd71a8..1ef342b 100644
--- a/common/filter
+++ b/common/filter
@@ -418,5 +418,24 @@ _filter_ovl_dirs()
 	    -e "s,$OVL_WORK,OVL_WORK,g"
 }
 
+# interpret filefrag output,
+# eg. "physical 1234, length 10, logical 5678" -> "1234#10#5678"
+_filter_filefrag()
+{
+	perl -ne '
+	if (/blocks? of (\d+) bytes/) {
+		$blocksize = $1;
+		next
+	}
+	($ext, $logical, $physical, $length) =
+		(/^\s*(\d+):\s+(\d+)..\s+\d+:\s+(\d+)..\s+\d+:\s+(\d+):/)
+	or next;
+	($flags) = /.*:\s*(\S*)$/;
+	print $physical * $blocksize, "#",
+	      $length * $blocksize, "#",
+	      $logical * $blocksize, "#",
+	      $flags, "\n"'
+}
+
 # make sure this script returns success
 /bin/true
-- 
2.5.0

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



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux