* [PATCH] xfstests: use xfs_io fiemap instead of filefrag V2
@ 2013-06-24 14:21 Josef Bacik
2013-06-26 2:19 ` Dave Chinner
0 siblings, 1 reply; 3+ messages in thread
From: Josef Bacik @ 2013-06-24 14:21 UTC (permalink / raw)
To: xfs, sandeen
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>
---
V1->V2: change _require_defrag to check for xfs_io having fiemap support as per
Eric's suggestion.
common/defrag | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/defrag b/common/defrag
index f04fd42..a4bc976 100644
--- a/common/defrag
+++ b/common/defrag
@@ -38,13 +38,13 @@ _require_defrag()
esac
_require_command $DEFRAG_PROG
- _require_command $FILEFRAG_PROG
+ _require_xfs_io_fiemap
}
_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] 3+ messages in thread* Re: [PATCH] xfstests: use xfs_io fiemap instead of filefrag V2
2013-06-24 14:21 [PATCH] xfstests: use xfs_io fiemap instead of filefrag V2 Josef Bacik
@ 2013-06-26 2:19 ` Dave Chinner
2013-07-08 18:01 ` Ben Myers
0 siblings, 1 reply; 3+ messages in thread
From: Dave Chinner @ 2013-06-26 2:19 UTC (permalink / raw)
To: Josef Bacik; +Cc: sandeen, xfs
On Mon, Jun 24, 2013 at 10:21:36AM -0400, Josef Bacik wrote:
> 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>
> ---
> V1->V2: change _require_defrag to check for xfs_io having fiemap support as per
> Eric's suggestion.
>
> common/defrag | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/common/defrag b/common/defrag
> index f04fd42..a4bc976 100644
> --- a/common/defrag
> +++ b/common/defrag
> @@ -38,13 +38,13 @@ _require_defrag()
> esac
>
> _require_command $DEFRAG_PROG
> - _require_command $FILEFRAG_PROG
> + _require_xfs_io_fiemap
> }
>
> _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
Looks good, but you can do that with a single fiemap execution:
$XFS_IO_PROG -c "fiemap" $1 | tee -a $seqres.full |\
| tail -n +2 | grep -v hole | wc -l
Still good either way
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] xfstests: use xfs_io fiemap instead of filefrag V2
2013-06-26 2:19 ` Dave Chinner
@ 2013-07-08 18:01 ` Ben Myers
0 siblings, 0 replies; 3+ messages in thread
From: Ben Myers @ 2013-07-08 18:01 UTC (permalink / raw)
To: Josef Bacik; +Cc: sandeen, xfs
On Wed, Jun 26, 2013 at 12:19:43PM +1000, Dave Chinner wrote:
> On Mon, Jun 24, 2013 at 10:21:36AM -0400, Josef Bacik wrote:
> > 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>
> > ---
> > V1->V2: change _require_defrag to check for xfs_io having fiemap support as per
> > Eric's suggestion.
> >
> > common/defrag | 6 +++---
> > 1 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/common/defrag b/common/defrag
> > index f04fd42..a4bc976 100644
> > --- a/common/defrag
> > +++ b/common/defrag
> > @@ -38,13 +38,13 @@ _require_defrag()
> > esac
> >
> > _require_command $DEFRAG_PROG
> > - _require_command $FILEFRAG_PROG
> > + _require_xfs_io_fiemap
> > }
> >
> > _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
>
> Looks good, but you can do that with a single fiemap execution:
>
> $XFS_IO_PROG -c "fiemap" $1 | tee -a $seqres.full |\
> | tail -n +2 | grep -v hole | wc -l
>
> Still good either way
>
> Reviewed-by: Dave Chinner <dchinner@redhat.com>
Applied.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-08 18:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-24 14:21 [PATCH] xfstests: use xfs_io fiemap instead of filefrag V2 Josef Bacik
2013-06-26 2:19 ` Dave Chinner
2013-07-08 18:01 ` Ben Myers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox