xfs
[Top] [All Lists]

Re: [PATCH] xfstests: test dump/restore of 32-bit projids

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH] xfstests: test dump/restore of 32-bit projids
From: Boris Ranto <ranto.boris@xxxxxxxxx>
Date: Mon, 27 Aug 2012 11:52:08 +0200
Cc: xfs-oss <xfs@xxxxxxxxxxx>, Bill Kendall <wkendall@xxxxxxx>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=biVmybVvTK7vWBNvgDfZRjTo8VBirA/ZtYdaUGKho7A=; b=luwVjesiRnL0IUFJtl1AxkSImxWf6WuCLc5u0hhetl1t0G0qauTWLsYJCXSWfoF4rI f8ZW84BC4YHfiKw5ZANeOhHChq/teYG0KxtaUAKe1+Tzwhpwp+mrww7l2btEHuf7H7Wr EMeHLjm1mikB7Wf3gZTEv28bog6I1iaULisy7sQUrBzMNh5rFexqcX2+asQyybkckJ7L /76O6u/j+O+j32u839ngXNLHNOFmke34QTcLJk8/tE0gNDOrjAJ0i79zHwM1e1doxVOG 8SH1pVISrwjoQOP+XRqWmV5dFmEd0IExEnXkrx9B+9pCRAP+RJ8a1Sz2mKeyfE5/N75Q aM4A==
On Sun, 2012-08-26 at 22:27 -0500, Eric Sandeen wrote:
>Test that xfsdump/xfsrestore properly restores more than the
> bottom 16 bits of a 32-bit projid.
>
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
> ---
>
> diff --git a/285 b/285
> new file mode 100755
> index 0000000..2804e5d
> --- /dev/null
> +++ b/285
> @@ -0,0 +1,81 @@
> +#! /bin/bash
> +# FS QA Test No. 285
> +#
> +# Test projid32: persist 32 bit projids thorugh dump/restore
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2012 Eric Sandeen.  All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
> +#-----------------------------------------------------------------------
> +#
> +# creator
> +owner=sandeen@xxxxxxxxxxx
> +
> +seq=`basename $0`
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1    # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> +    cd /
> +    rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common.rc
> +. ./common.filter
> +. ./common.dump
> +. ./common.quota
> +
> +_require_scratch
> +_require_xfs_quota
> +
> +# real QA test starts here
> +
> +_supported_fs xfs
> +_supported_os IRIX Linux
> +
> +_scratch_mkfs_xfs -i projid32bit=1 >> $seq.full || _fail "mkfs failed"
> +
> +export MOUNT_OPTIONS="-opquota"
> +_qmount
> +_require_prjquota $SCRATCH_DEV
> +
> +# > 16 bit project ID
> +PROJID=2123456789
> +
> +# Put a project quota on a dir
> +mkdir $SCRATCH_MNT/dir
> +xfs_quota -x -c "project -s -p $SCRATCH_MNT/dir $PROJID" $SCRATCH_MNT >> $seq.full || _fail "dir pquota failed"
> +
> +# Dump it then restore it to a fresh fs, and check the projid
> +rm -f $tmp.dumpfile
> +xfsdump -L label -M media -f $tmp.dumpfile $SCRATCH_MNT >> $seq.full || _fail "dump failed"
> +umount $SCRATCH_DEV
> +
> +_scratch_mkfs_xfs -i projid32bit=1 >> $seq.full || _fail "re-mkfs failed"
> +_qmount
> +xfsrestore -f $tmp.dumpfile $SCRATCH_MNT >> $seq.full || _fail "restore failed"
> +
> +# check (-c) that we got the correct project ID back post-restore
> +xfs_quota -x -c "project -s -c -p $SCRATCH_MNT/dir $PROJID" $SCRATCH_MNT
> +
> +# success, all done
> +status=0
> +exit
> diff --git a/285.out b/285.out
> new file mode 100644
> index 0000000..daf4e4c
> --- /dev/null
> +++ b/285.out
> @@ -0,0 +1,3 @@
> +QA output created by 285
> +Checking project 2123456790 (path /mnt/scratch/dir)...
> +Processed 1 (/etc/projects and cmdline) paths for project 2123456790 with recursion depth infinite (-1).
> diff --git a/group b/group
> index 104ed35..bbc74fe 100644
> --- a/group
> +++ b/group
> @@ -403,3 +403,4 @@ deprecated
>  282 dump ioctl auto quick
>  283 dump ioctl auto quick
>  284 auto
> +285 auto dump quota
>
>

I've been working on a xfstests projid32bit test case, too. It covers this area + few others. I'll post that one, soon.
<Prev in Thread] Current Thread [Next in Thread>