xfs
[Top] [All Lists]

Re: [PATCH] xfstests: Remove dependence of xfs_check script

To: "sekharan@xxxxxxxxxx" <sekharan@xxxxxxxxxx>
Subject: Re: [PATCH] xfstests: Remove dependence of xfs_check script
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 18 Apr 2013 09:30:39 -0700
Cc: XFS mailing list <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1366297953.3762.32358.camel@xxxxxxxxxxxxxxxxxx>
References: <1366226244.3762.32346.camel@xxxxxxxxxxxxxxxxxx> <516F1563.4000909@xxxxxxxxxxx> <1366297953.3762.32358.camel@xxxxxxxxxxxxxxxxxx>
On Apr 18, 2013, at 8:12 AM, Chandra Seetharaman <sekharan@xxxxxxxxxx> wrote:

> Thanks Eric.
> 
> Adding this above _xfs_check() in common/config sounds good ?
> 
> # xfs_check script is planned to be deprecated. But, we want to
> # be able to invoke "xfs_check" behavior in xfstests in order to
> # maintain the current verification levels. 
> 
Sure, that's perfect.

Thanks,
Eric

> 
> On Wed, 2013-04-17 at 14:34 -0700, Eric Sandeen wrote:
>> On 4/17/13 12:17 PM, Chandra Seetharaman wrote:
>>> Replace the usage of the script xfs_check and add the relevant code to
>>> xfstests.
>>> 
>>> This is in preparation of the planned deprecation of xfs_check.
>> 
>> Other than maybe having a comment about why _xfs_check() is embedded
>> in common/rc for future readers, this looks fine to me, thanks.
>> 
>> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
>> 
>>> Signed-off-by: Chandra Seetharaman <sekharan@xxxxxxxxxx>
>>> ---
>>> diff --git a/common/config b/common/config
>>> index bf62996..dfbb5c2 100644
>>> --- a/common/config
>>> +++ b/common/config
>>> @@ -154,7 +154,6 @@ export DF_PROG="`set_prog_path df`"
>>> 
>>> export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`"
>>> export XFS_REPAIR_PROG="`set_prog_path xfs_repair`"
>>> -export XFS_CHECK_PROG="`set_prog_path xfs_check`"
>>> export XFS_DB_PROG="`set_prog_path xfs_db`"
>>> export XFS_GROWFS_PROG=`set_prog_path xfs_growfs`
>>> export XFS_IO_PROG="`set_prog_path xfs_io`"
>>> diff --git a/common/rc b/common/rc
>>> index 09fb83f..9cea3f9 100644
>>> --- a/common/rc
>>> +++ b/common/rc
>>> @@ -166,7 +166,6 @@ case "$FSTYP" in
>>>     xfs)
>>>     [ "$XFS_LOGPRINT_PROG" = "" ] && _fatal "xfs_logprint not found"
>>>     [ "$XFS_REPAIR_PROG" = "" ] && _fatal "xfs_repair not found"
>>> -     [ "$XFS_CHECK_PROG" = "" ] && _fatal "xfs_check not found"
>>>     [ "$XFS_DB_PROG" = "" ] && _fatal "xfs_db not found"
>>>     [ "$MKFS_XFS_PROG" = "" ] && _fatal "mkfs_xfs not found"
>>>     ;;
>>> @@ -387,6 +386,31 @@ _scratch_mkfs_xfs()
>>>     return $mkfs_status
>>> }
>>> 
>>> +_xfs_check()
>>> +{
>>> +    OPTS=" "
>>> +    DBOPTS=" "
>>> +
>>> +    OPTIND=1
>>> +    while getopts "b:fi:l:stvV" c
>>> +    do
>>> +        case $c in
>>> +            s) OPTS=$OPTS"-s ";;
>>> +            t) OPTS=$OPTS"-t ";;
>>> +            v) OPTS=$OPTS"-v ";;
>>> +            i) OPTS=$OPTS"-i "$OPTARG" ";;
>>> +            b) OPTS=$OPTS"-b "$OPTARG" ";;
>>> +            f) DBOPTS=$DBOPTS" -f";;
>>> +            l) DBOPTS=$DBOPTS" -l "$OPTARG" ";;
>>> +            V) $XFS_DB_PROG -p xfs_check -V
>>> +                return $?
>>> +                ;;
>>> +        esac
>>> +    done
>>> +    ${XFS_DB_PROG}${DBOPTS} -F -i -p xfs_check -c "check$OPTS" $1
>>> +    return $?
>>> +}
>>> +
>>> _setup_large_ext4_fs()
>>> {
>>>    fs_size=$1
>>> @@ -589,7 +613,7 @@ _scratch_xfs_check()
>>>         SCRATCH_OPTIONS="-l $SCRATCH_LOGDEV"
>>>     [ "$LARGE_SCRATCH_DEV" = yes ] && \
>>>         SCRATCH_OPTIONS=$SCRATCH_OPTIONS" -t"
>>> -    $XFS_CHECK_PROG $SCRATCH_OPTIONS $* $SCRATCH_DEV
>>> +    _xfs_check $SCRATCH_OPTIONS $* $SCRATCH_DEV
>>> }
>>> 
>>> _scratch_xfs_repair()
>>> @@ -1426,7 +1450,7 @@ _check_xfs_filesystem()
>>>     # option (-t) to avoid indexing the free space trees doesn't make it 
>>> pass on
>>>     # large filesystems. Avoid it.
>>>     if [ "$LARGE_SCRATCH_DEV" != yes ]; then
>>> -        $XFS_CHECK_PROG $extra_log_options $device 2>&1 |\
>>> +        _xfs_check $extra_log_options $device 2>&1 |\
>>>         _fix_malloc >$tmp.fs_check
>>>     fi
>>>     if [ -s $tmp.fs_check ]
>>> diff --git a/crash/xfscrash b/crash/xfscrash
>>> index 7831d7e..579b724 100755
>>> --- a/crash/xfscrash
>>> +++ b/crash/xfscrash
>>> @@ -120,11 +120,11 @@ _check()
>>>     if [ $expect -eq 0 ]
>>>     then
>>>         _echo "      *** xfs_check ($LOG/check_clean.out)"   
>>> -        xfs_check $TEST_DEV &> $LOG/check_clean.out || fail=1
>>> +        _xfs_check $TEST_DEV &> $LOG/check_clean.out || fail=1
>>>         [ -s /tmp/xfs_check_clean.out ] && fail=1
>>>     else
>>>         _echo "      *** xfs_check ($LOG/check_dirty.out)"   
>>> -        xfs_check $TEST_DEV &> $LOG/check_dirty.out || fail=1
>>> +        _xfs_check $TEST_DEV &> $LOG/check_dirty.out || fail=1
>>>     fi
>>> 
>>>     if [ $fail -eq 0 -a $expect -eq 0 ]
>>> diff --git a/tests/xfs/085 b/tests/xfs/085
>>> index 27f29a3..af71b77 100755
>>> --- a/tests/xfs/085
>>> +++ b/tests/xfs/085
>>> @@ -70,7 +70,7 @@ _print_logstate
>>> 
>>> # curious if FS consistent at start
>>> if false; then
>>> -    if $XFS_CHECK_PROG $SCRATCH_DEV; then
>>> +    if _xfs_check $SCRATCH_DEV; then
>>>        echo "*** checked ok ***"
>>>     fi
>>> fi
>>> diff --git a/tests/xfs/291 b/tests/xfs/291
>>> old mode 100644
>>> new mode 100755
>>> index f842679..7723b9e
>>> --- a/tests/xfs/291
>>> +++ b/tests/xfs/291
>>> @@ -113,7 +113,7 @@ done
>>> _scratch_unmount
>>> # Can xfs_repair and xfs_check cope with this monster?
>>> _scratch_xfs_repair >> $seqres.full 2>&1 || _fail "xfs_repair failed"
>>> -xfs_check $SCRATCH_DEV >> $seqres.full 2>&1 || _fail "xfs_check failed"
>>> +_xfs_check $SCRATCH_DEV >> $seqres.full 2>&1 || _fail "xfs_check failed"
>>> 
>>> # Yes they can!  Now...
>>> # Can xfs_metadump cope with this monster?
>>> 
>>> 
>>> _______________________________________________
>>> xfs mailing list
>>> xfs@xxxxxxxxxxx
>>> http://oss.sgi.com/mailman/listinfo/xfs
>> 
>> _______________________________________________
>> xfs mailing list
>> xfs@xxxxxxxxxxx
>> http://oss.sgi.com/mailman/listinfo/xfs
> 
> 

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