On Tue, 2009-02-17 at 15:57 +0530, Subrata Modak wrote: > On Tue, 2009-02-17 at 11:15 +0100, Jan Kara wrote: > > On Tue 17-02-09 14:07:33, Subrata Modak wrote: > > > Hi Jan, > > > > > > I apolozise for holding this script. I had done a basic porting to LTP. > > > Please > > > see the results on executing on kernels below and above 2.6.26. > > Yes, the test looks fine. Thanks for porting. > > Thank you too for writing this test for LTP. Can you also consider > submitting tests to LTP in future, for those features you plan to > develop for the kernel ?
The patch is merged adding the tests to LTP. Thanks. Regards-- Subrata > > Regards-- > Subrata > > > > > > > Honza > > > > > # uname -a > > > Linux 2.6.27.15-2-default #1 SMP 2009-02-09 15:38:31 +0100 x86_64 x86_64 > > > x86_64 GNU/Linux > > > > > > <<<test_start>>> > > > tag=quota_remount_test01 stime=1234854977 > > > cmdline="quota_remount_test01.sh" > > > contacts="" > > > analysis=exit > > > initiation_status="ok" > > > <<<test_output>>> > > > incrementing stop > > > quota_remount_test01 0 INFO : Successfully mounted the File System > > > quota_remount_test01 0 INFO : Successfully Created Quota Files > > > quota_remount_test01 0 INFO : Successfully Turned on Quota > > > quota_remount_test01 0 INFO : Successfully wrote to the filesystem > > > quota_remount_test01 0 INFO : Successfully Remounted Read-Only FS > > > quota_remount_test01 0 INFO : Successfully Remounted Read-Write FS > > > quota_remount_test01 0 INFO : Usage successfully Changed after > > > Remount > > > quota_remount_test01 1 PASS : Quota on Remount Successfull > > > <<<execution_status>>> > > > duration=1 termination_type=exited termination_id=0 corefile=no > > > cutime=2 cstime=18 > > > <<<test_end>>> > > > > > > > > > $ uname -a > > > Linux 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:12 EDT 2008 i686 i686 i386 > > > GNU/Linux > > > > > > <<<test_start>>> > > > tag=quota_remount_test01 stime=1234859369 > > > cmdline="quota_remount_test01.sh" > > > contacts="" > > > analysis=exit > > > initiation_status="ok" > > > <<<test_output>>> > > > incrementing stop > > > quota_remount_test01 1 CONF : Remounting with quotas enabled is not > > > supported! > > > quota_remount_test01 1 CONF : You should have kernel 2.6.26 and > > > above running..... > > > <<<execution_status>>> > > > duration=0 termination_type=exited termination_id=0 corefile=no > > > cutime=0 cstime=0 > > > <<<test_end>>> > > > > > > Thanks for contributing this test to LTP. > > > > > > On Thu, 2008-09-18 at 23:03 +0200, Jan Kara wrote: > > > Hello Subrata, > > > > > > > > On Tue 26-08-08 17:26:30, Subrata Modak wrote: > > > > > On Tue, 2008-08-26 at 13:40 +0200, Jan Kara wrote: > > > > > > Hello, > > > > > > > > > > > > On Tue 26-08-08 15:38:01, Subrata Modak wrote: > > > > > > > The Commit logs for 2.6.26 for quota: quota core changes for > > > > > > > quotaon on > > > > > > > remount says: > > > > > > > ....... > > > > > > > Currently, we just turn quotas off on remount of filesystem to > > > > > > > read-only > > > > > > > state. The patch below adds necessary framework so that we can > > > > > > > turn quotas > > > > > > > off on remount RO but we are able to automatically reenable them > > > > > > > again when > > > > > > > filesystem is remounted to RW state. All we need to do is to > > > > > > > keep references > > > > > > > to inodes of quota files when remounting RO and using these > > > > > > > references to > > > > > > > reenable quotas when remounting RW. > > > > > > > .......... > > > > > > > > > > > > > > Did you develop/write test cases to test these scenario ? Would > > > > > > > it be > > > > > > > possible for you to share those tests with LTP under GPLv2 ? > > > > > > I've tested it only by hand. Something along the lines: > > > > > > > > > > > > mount -t ext3 -o loop,usrquota,grpquota test_image /mnt > > > > > > quotaon -avug > > > > > > mount -o remount,ro /mnt > > > > > > mount -o remount,rw /mnt > > > > > > <check that quota still works by writing to the fs and checking > > > > > > output of > > > > > > quota(1)> > > > > > > > > > > > > I can script it for you sometime next week if you'd like. > > > > > > > > > > That would be really great. You can send the script to the ltp mailing > > > > > list. What i would like the script to have is to: > > > > > > > > > > 1) Mention, if the user needs to do some special setup before > > > > > executing > > > > > the script, > > > > > 2) Script should be able to detect whether the feature it is trying to > > > > > test is available in the underlying kernel, and say a good bye > > > > > accordingly, > > > > > 3) Return 0 on success, else any other value(s) on un-successful exit. > > > > > > > > > > These will be required for the LTP engine to run the script, so that > > > > > it > > > > > can be very easily accommodated under our Automated test run > > > > > environment. Thank you very much. > > > > Below is the script which should test what you want. Enjoy. > > > > > > > > > > Signed-Off-By: Subrata Modak <[email protected]> > > > --- > > > > > > diff -uprN ltp-intermediate-20090217.orig/runtest/fs > > > ltp-intermediate-20090217/runtest/fs > > > --- ltp-intermediate-20090217.orig/runtest/fs 2009-02-17 > > > 12:12:23.000000000 +0530 > > > +++ ltp-intermediate-20090217/runtest/fs 2009-02-17 12:45:19.000000000 > > > +0530 > > > @@ -75,3 +75,5 @@ proc01 proc01 > > > #Run the File System Race Condition Check tests as well > > > fs_racer fs_racer.sh -t 5 > > > > > > +#Run the Quota Remount Test introduced in linux-2.6.26 > > > +quota_remount_test01 quota_remount_test01.sh > > > diff -uprN ltp-intermediate-20090217.orig/testcases/kernel/fs/Makefile > > > ltp-intermediate-20090217/testcases/kernel/fs/Makefile > > > --- ltp-intermediate-20090217.orig/testcases/kernel/fs/Makefile > > > 2009-02-17 12:12:23.000000000 +0530 > > > +++ ltp-intermediate-20090217/testcases/kernel/fs/Makefile > > > 2009-02-17 12:57:29.000000000 +0530 > > > @@ -1,4 +1,4 @@ > > > -SUBDIRS = acls doio fs_inod fsstress fs_perms fsx-linux ftest inode > > > lftest linktest openfile proc stream fs_di fs_bind racer > > > +SUBDIRS = acls doio fs_inod fsstress fs_perms fsx-linux ftest inode > > > lftest linktest openfile proc stream fs_di fs_bind racer quota_remount > > > > > > all: > > > @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i ; done > > > diff -uprN > > > ltp-intermediate-20090217.orig/testcases/kernel/fs/quota_remount/Makefile > > > ltp-intermediate-20090217/testcases/kernel/fs/quota_remount/Makefile > > > --- > > > ltp-intermediate-20090217.orig/testcases/kernel/fs/quota_remount/Makefile > > > 1970-01-01 05:30:00.000000000 +0530 > > > +++ ltp-intermediate-20090217/testcases/kernel/fs/quota_remount/Makefile > > > 2009-02-17 12:18:21.000000000 +0530 > > > @@ -0,0 +1,26 @@ > > > +################################################################################ > > > +## > > > ## > > > +## Copyright (c) International Business Machines Corp., 2009 > > > ## > > > +## > > > ## > > > +## 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; either version 2 of the License, or > > > ## > > > +## (at your option) any later version. > > > ## > > > +## > > > ## > > > +## This program is distributed in the hope that it will 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 to the Free Software > > > ## > > > +## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 > > > USA ## > > > +## > > > ## > > > +################################################################################ > > > + > > > +all: > > > + > > > +install: > > > + @ln -f quota_remount_test01.sh ../../../bin/; > > > + > > > +clean: > > > diff -uprN > > > ltp-intermediate-20090217.orig/testcases/kernel/fs/quota_remount/quota_remount_test01.sh > > > > > > ltp-intermediate-20090217/testcases/kernel/fs/quota_remount/quota_remount_test01.sh > > > --- > > > ltp-intermediate-20090217.orig/testcases/kernel/fs/quota_remount/quota_remount_test01.sh > > > 1970-01-01 05:30:00.000000000 +0530 > > > +++ > > > ltp-intermediate-20090217/testcases/kernel/fs/quota_remount/quota_remount_test01.sh > > > 2009-02-17 13:52:32.000000000 +0530 > > > @@ -0,0 +1,108 @@ > > > +################################################################################ > > > +## > > > ## > > > +## Copyright (c) Jan Kara <[email protected]>, 2008 > > > ## > > > +## Copyright (c) International Business Machines Corp., 2009 > > > ## > > > +## > > > ## > > > +## 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; either version 2 of the License, or > > > ## > > > +## (at your option) any later version. > > > ## > > > +## > > > ## > > > +## This program is distributed in the hope that it will 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 to the Free Software > > > ## > > > +## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 > > > USA ## > > > +## > > > ## > > > +################################################################################ > > > +# > > > ## > > > +# File : quota_remount_test01.sh > > > ## > > > +# > > > ## > > > +# Description: Test whether kernel properly supports remounting > > > read-only ## > > > +# with quota > > > ## > > > +# > > > ## > > > +# Author: Jan Kara <[email protected]>, > > > ## > > > +# > > > ## > > > +# History: Sep 18 2008 - Created - Jan Kara <[email protected]>. > > > ## > > > +# Feb 17 2009 - Ported to LTP, > > > ## > > > +# Subrata Modak <[email protected]> > > > ## > > > +################################################################################ > > > +#!/bin/bash > > > + > > > +export TCID=quota_remount_test01 > > > +export TST_TOTAL=1 > > > +export TST_COUNT=0 > > > + > > > +TMPDIR=/tmp > > > +MNTDIR=$TMPDIR/mnt > > > + > > > +uname -r | { > > > + IFS='.-' > > > + read MAJOR MINOR RELEASE REST > > > + if [ "$MAJOR" -lt 2 -o "$MINOR" -lt 6 -o "$RELEASE" -lt 26 ]; then > > > + exit 1 > > > + fi > > > + exit 0; } > > > +if [ $? -gt 0 ]; then > > > + tst_resm TCONF "Remounting with quotas enabled is not supported!" > > > + tst_resm TCONF "You should have kernel 2.6.26 and above > > > running....." > > > + exit 0 > > > +fi > > > + > > > +if [ ! -d /proc/sys/fs/quota ]; then > > > + tst_resm TCONF "Quota not supported in kernel!" > > > + exit 0 > > > +fi > > > + > > > +function die() > > > +{ > > > + echo >&2 $2 > > > + umount 2>/dev/null $MNTDIR > > > + rm 2>/dev/null $IMAGE > > > + rmdir 2>/dev/null $MNTDIR > > > + tst_resm TFAIL "Quota on Remount Failed" > > > + exit $1 > > > +} > > > + > > > +cd $TMPDIR || die 2 "Cannot cd to $TMPDIR" > > > +IMAGE=ltp-$$-fs-image > > > +dd if=/dev/zero of=$IMAGE bs=4096 count=8000 2>/dev/null || die 2 > > > "Cannot create filesystem image" > > > +mkfs.ext3 -q -F -b 4096 $IMAGE || die 2 "Could not create the filesystem" > > > +mkdir $MNTDIR || die 2 "Could not create the mountpoint" > > > +mount -t ext3 -o loop,usrquota,grpquota $IMAGE $MNTDIR || die 2 "Could > > > not mount the filesystem" > > > +tst_resm TINFO "Successfully mounted the File System" > > > + > > > +quotacheck -cug $MNTDIR || die 2 "Could not create quota files" > > > +tst_resm TINFO "Successfully Created Quota Files" > > > + > > > +quotaon -ug $MNTDIR || die 2 "Could not turn quota on" > > > +tst_resm TINFO "Successfully Turned on Quota" > > > + > > > +echo "blah" >$MNTDIR/file || die 2 "Could not write to the filesystem" > > > +tst_resm TINFO "Successfully wrote to the filesystem" > > > + > > > +# Get current quota usage > > > +BLOCKS=`quota -f $MNTDIR -v -w | tail -1 | sed -e 's/ *[^ ]* > > > *\([0-9]*\) .*/\1/'` > > > +mount -o remount,ro $MNTDIR || die 1 "Could not remount read-only" > > > +tst_resm TINFO "Successfully Remounted Read-Only FS" > > > + > > > +mount -o remount,rw $MNTDIR || die 2 "Could not remount read-write" > > > +tst_resm TINFO "Successfully Remounted Read-Write FS" > > > + > > > +rm $MNTDIR/file > > > +# Get quota usage after removing the file > > > +NEWBLOCKS=`quota -f $MNTDIR -v -w | tail -1 | sed -e 's/ *[^ ]* > > > *\([0-9]*\) .*/\1/'` > > > +# Has quota usage changed properly? > > > +if [ $BLOCKS -eq $NEWBLOCKS ]; then > > > + die 1 "Usage did not change after remount" > > > +fi > > > +tst_resm TINFO "Usage successfully Changed after Remount" > > > +tst_resm TPASS "Quota on Remount Successfull" > > > + > > > +umount $MNTDIR || die 2 "Could not umount $MNTDIR" > > > +rmdir $MNTDIR || die 2 "Could not remove $MNTDIR" > > > +rm $IMAGE > > > +exit 0 > > > > > > -- > > > Regards-- > > > Subrata > > > ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
