xfs
[Top] [All Lists]

Re: [PATCH] xfstests: very basic defragmentation testing for xfs & ext4

To: Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: Re: [PATCH] xfstests: very basic defragmentation testing for xfs & ext4
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sat, 18 Jul 2009 10:31:14 -0400
Cc: xfs mailing list <xfs@xxxxxxxxxxx>, ext4 development <linux-ext4@xxxxxxxxxxxxxxx>
In-reply-to: <4A5E3A37.5050306@xxxxxxxxxx>
References: <4A5E3A37.5050306@xxxxxxxxxx>
User-agent: Mutt/1.5.18 (2008-05-17)
On Wed, Jul 15, 2009 at 03:21:11PM -0500, Eric Sandeen wrote:
> Test a few very basic defragmentation scenarios.
> 
> This test creates some files, runs defrag on them,
> and compares the before/after fragmentation as well
> as file md5sums and timestamps.
> 
> (md5sums may just be reading buffered data though,
> suggestions?)

As Andreas said unmount it before.

> The test currently expects to find e4defrag in
> /usr/bin

> +_supported_fs xfs ext4

> +fragfile=$SCRATCH_MNT/fragfile.$$
> +
> +if [ "$FSTYP" == "xfs" ]; then
> +     DEFRAG=/usr/sbin/xfs_fsr
> +else
> +     DEFRAG=/usr/bin/e4defrag
> +fi
> +
> +_require_command $DEFRAG
> +_require_command /usr/sbin/filefrag

I think we're much better off adding a helpers for this in a new
common.defrag (or adding it somwhere).

Then set a DEFRAF_PROG variable there, and add a _require_defrag
ala

_require_defrag()
{
    case "$FSTYP" in
    xfs)
        DEFRAG_PROG=/usr/sbin/xfs_fsr
        ;;
    ext4)
        DEFRAG_PROG=/usr/bin/e4defrag
        ;;
    *)
        _notrun "defragmentation not supported for fstype \"$FSTYP\""
        ;;
    esac

    _require_command $DEFRAG
    _require_command /usr/sbin/filefrag
}

<Prev in Thread] Current Thread [Next in Thread>