public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xfstests: use xfs_io fiemap instead of filefrag
@ 2013-06-20 18:09 Josef Bacik
  2013-06-21 18:22 ` Eric Sandeen
  0 siblings, 1 reply; 2+ messages in thread
From: Josef Bacik @ 2013-06-20 18:09 UTC (permalink / raw)
  To: xfs

Btrfs has always failed shared/218 because of the way we allocate extents on
disk.  The last part of 218 writes contiguously holey from the start of the file
forward, which for btrfs means we get 16 extents but they are physically
contigous.  filefrag -v shows all 16 extents, but prints out that there is 1
extent, because they are physically contiguous.  This isn't quite right and
makes the test fail.  So instead of using filefrag use xfs_io -c fiemap which
will print the whole map and then get the count from there.  With this patch
btrfs now passes the test, I also verified that ext4 and xfs still pass this
test.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
---
 common/defrag |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/defrag b/common/defrag
index f04fd42..a7e5488 100644
--- a/common/defrag
+++ b/common/defrag
@@ -43,8 +43,8 @@ _require_defrag()
 
 _extent_count()
 {
-	$FILEFRAG_PROG $1 | awk '{print $2}'
-	$FILEFRAG_PROG -v $1  >> $seqres.full 2>&1
+	$XFS_IO_PROG -c "fiemap" $1 | tail -n +2 | grep -v hole | wc -l
+	$XFS_IO_PROG -c "fiemap" $1  >> $seqres.full 2>&1
 }
 
 # Defrag file, check it, and remove it.
-- 
1.7.7.6

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-06-21 18:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-20 18:09 [PATCH] xfstests: use xfs_io fiemap instead of filefrag Josef Bacik
2013-06-21 18:22 ` Eric Sandeen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox