linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCEMENT] Linux POSIX file system test suite
@ 2008-04-02 21:29 Szabolcs Szakacsits
  2008-04-02 22:23 ` Joel Becker
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Szabolcs Szakacsits @ 2008-04-02 21:29 UTC (permalink / raw)
  To: ntfs-3g-devel-TtF/mJH4Jtrk1uMJSBkQmQ
  Cc: fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	ext2-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	zfs-fuse-/JYPxA39Uh5TLH3MbocFFw, Marc Andre Tanner,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA


Hello file system developers,

There are several POSIX file system test suites: closed source, commercial, 
one which needs reading 174 pages installation guide, etc. Because of these 
frustrations when Pawel Jakub Dawidek ported ZFS to FreeBSD, he also wrote 
such a test suite quickly.

Last year the NTFS-3G team ported it to Linux/ext3 and Linux/NTFS-3G to 
validate Jean-Pierre Andre's full file permissions and ownership support 
for NTFS-3G. We sent our patches to Pawel for integration but this doesn't 
seem to happen him (he didn't see problems but is busy).

Since this topic regularly appears on several lists, we are also often 
asked about it and NTFS-3G does need it to be maintained, hence we decided 
to release it and if nobody else would like to maintain it then we will do 
so.

The test suite mostly checks POSIX compliance and works for FreeBSD, 
Solaris, and Linux with UFS, ZFS, ext3, and NTFS-3G file systems. The list 
of system calls tested is: chmod, chown, link, mkdir, mkfifo, open, rename, 
rmdir, symlink, truncate, unlink. There are currently 1950 regression 
tests.

Availability:

	http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz

  and in the NTFS-3G CVS as pjd-fstest module:

	http://sourceforge.net/cvs/?group_id=181143

The usage is extremely simple:

  # tar czf pjd-fstest-20080402.tgz
  # cd pjd-fstest-20080402
  # vi tests/conf
  Change 'fs' to file system type you want to test (UFS, ZFS, ext3, ntfs-3g).
  # make
  It will compile fstest utility which is used by regression tests.
  # cd /path/to/file/system/you/want/to/test/
  The test must be run as root user and requires a few basic Perl modules.
  # prove -r /path/to/fstest/

It's also possible to run individual set of tests:

  # /path/to/fstest/tests/chown/00.t

Or make single system call tests:

  # fstest mkdir foo 0750
  0
  # fstest mkdir foo 0750
  mkdir returned -1
  EEXIST

The test suite is easy to understand, modify and extend. For instance doing 
a test cases for the above examples is only

  expect 0 fstest mkdir foo 0750
  expect EEXIST fstest mkdir foo 0750

The default file system type is ext3 and it passes all tests.

NTFS-3G also passes all the tests if the latest PERMISSION_HANDLING_BRANCH 
CVS branch is used with the below UserMapping file placed in the .NTFS-3G 
control directory:

--------------------------------------------------------------->
:500:S-1-5-21-2271520284-214583110-2989893066-513
500::S-1-5-21-2271520284-214583110-2989893066-1007
# default mapping pattern
::S-1-5-21-2271520284-214583110-2989893066-10000
<--------------------------------------------------------------

Many thanks to Pawel Jakub Dawidek for writing this fantastic test suite, 
to Jean-Pierre Andre for tirelessly working on the port and fixing 
countless file system problems over the last half year and to Szeredi 
Miklos for his exceptionally rapid FUSE fixes.

Enjoy,
	    Szaka

--
NTFS-3G:  http://ntfs-3g.org


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-02 21:29 [ANNOUNCEMENT] Linux POSIX file system test suite Szabolcs Szakacsits
@ 2008-04-02 22:23 ` Joel Becker
  2008-04-03  4:12   ` Szabolcs Szakacsits
  2008-04-03 18:27 ` Badari Pulavarty
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Joel Becker @ 2008-04-02 22:23 UTC (permalink / raw)
  To: Szabolcs Szakacsits
  Cc: ntfs-3g-devel, linux-fsdevel, fuse-devel, ext2-devel, zfs-fuse,
	Marc Andre Tanner, Jean-Pierre ANDRE

On Thu, Apr 03, 2008 at 12:29:47AM +0300, Szabolcs Szakacsits wrote:
> The test suite mostly checks POSIX compliance and works for FreeBSD, 
> Solaris, and Linux with UFS, ZFS, ext3, and NTFS-3G file systems. The list 
> of system calls tested is: chmod, chown, link, mkdir, mkfifo, open, rename, 
> rmdir, symlink, truncate, unlink. There are currently 1950 regression 
> tests.
<snip> 
> Availability:
> 
> 	http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz

	Very interesting.  ocfs2, running as 'ext3' mode, gets:
Failed 9/184 test scripts, 95.11% okay. 32/1950 subtests failed, 98.36% okay.

Thanks!
Joel

-- 

"In the beginning, the universe was created. This has made a lot 
 of people very angry, and is generally considered to have been a 
 bad move."
        - Douglas Adams

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-02 22:23 ` Joel Becker
@ 2008-04-03  4:12   ` Szabolcs Szakacsits
       [not found]     ` <Pine.LNX.4.62.0804030705050.12223-03lVS0d9f+JcfUEgzQKStNHuzzzSOjJt@public.gmane.org>
  0 siblings, 1 reply; 14+ messages in thread
From: Szabolcs Szakacsits @ 2008-04-03  4:12 UTC (permalink / raw)
  To: Joel Becker
  Cc: ntfs-3g-devel, linux-fsdevel, fuse-devel, zfs-fuse,
	Marc Andre Tanner, Jean-Pierre ANDRE, linux-ext4


On Wed, 2 Apr 2008, Joel Becker wrote:
> On Thu, Apr 03, 2008 at 12:29:47AM +0300, Szabolcs Szakacsits wrote:
> > The test suite mostly checks POSIX compliance and works for FreeBSD, 
> > Solaris, and Linux with UFS, ZFS, ext3, and NTFS-3G file systems. The list 
> > of system calls tested is: chmod, chown, link, mkdir, mkfifo, open, rename, 
> > rmdir, symlink, truncate, unlink. There are currently 1950 regression 
> > tests.
> <snip> 
> > Availability:
> > 
> > 	http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz
> 
> 	Very interesting.  ocfs2, running as 'ext3' mode, gets:
>
> Failed 9/184 test scripts, 95.11% okay. 32/1950 subtests failed, 98.36% okay.

That's not bad as a start and it doesn't necessarily mean that there is 
anything wrong with ocfs2. There are many cases when SuS says that the 
behavior can be implementation specific.

But we did find that following ext3 as close as possible will reduce the 
number of bug reports. We started from "574/1950 subtests failed, 70.56% 
okay."

Regards,
	    Szaka

--
NTFS-3G:  http://ntfs-3g.org

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
       [not found]     ` <Pine.LNX.4.62.0804030705050.12223-03lVS0d9f+JcfUEgzQKStNHuzzzSOjJt@public.gmane.org>
@ 2008-04-03 16:48       ` Joel Becker
  2008-04-03 16:51       ` Amar S. Tumballi
  1 sibling, 0 replies; 14+ messages in thread
From: Joel Becker @ 2008-04-03 16:48 UTC (permalink / raw)
  To: Szabolcs Szakacsits
  Cc: fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	zfs-fuse-/JYPxA39Uh5TLH3MbocFFw,
	ntfs-3g-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Marc Andre Tanner,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA,
	linux-ext4-u79uwXL29TY76Z2rM5mHXA

On Thu, Apr 03, 2008 at 07:12:12AM +0300, Szabolcs Szakacsits wrote:
> > > 	http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz
> > 
> > 	Very interesting.  ocfs2, running as 'ext3' mode, gets:
> >
> > Failed 9/184 test scripts, 95.11% okay. 32/1950 subtests failed, 98.36% okay.
> 
> That's not bad as a start and it doesn't necessarily mean that there is 
> anything wrong with ocfs2. There are many cases when SuS says that the 
> behavior can be implementation specific.

	Yeah, I haven't looked into the failures.  Some day when I have
free time :-)

Joel

-- 

"When I am working on a problem I never think about beauty. I
 only think about how to solve the problem. But when I have finished, if
 the solution is not beautiful, I know it is wrong."
         - Buckminster Fuller

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org
Phone: (650) 506-8127

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
       [not found]     ` <Pine.LNX.4.62.0804030705050.12223-03lVS0d9f+JcfUEgzQKStNHuzzzSOjJt@public.gmane.org>
  2008-04-03 16:48       ` Joel Becker
@ 2008-04-03 16:51       ` Amar S. Tumballi
  1 sibling, 0 replies; 14+ messages in thread
From: Amar S. Tumballi @ 2008-04-03 16:51 UTC (permalink / raw)
  To: Szabolcs Szakacsits
  Cc: fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Joel Becker,
	zfs-fuse-/JYPxA39Uh5TLH3MbocFFw,
	ntfs-3g-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Marc Andre Tanner,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA,
	linux-ext4-u79uwXL29TY76Z2rM5mHXA

Hi,
 Thanks for the test tool. It really helps us to very our posix compliance
level.

GlusterFS running as 'ext3' gets:

Failed Test                       Stat Wstat Total Fail  Failed  List of
Failed
-------------------------------------------------
/tmp/pjd-fstest-20080402/tests/ch              171    5   2.92%  69 141 145
149
                                                                 153
Failed 1/184 test scripts, 99.46% okay. 5/1950 subtests failed, 99.74% okay.

Regards,
Amar
-----


> >
> >       Very interesting.  ocfs2, running as 'ext3' mode, gets:
> >
> > Failed 9/184 test scripts, 95.11% okay. 32/1950 subtests failed, 98.36%
> okay.
>
> That's not bad as a start and it doesn't necessarily mean that there is
> anything wrong with ocfs2. There are many cases when SuS says that the
> behavior can be implementation specific.
>
> But we did find that following ext3 as close as possible will reduce the
> number of bug reports. We started from "574/1950 subtests failed, 70.56%
> okay."
>
> Regards,
>             Szaka
>
> --
> NTFS-3G:  http://ntfs-3g.org
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
>
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> _______________________________________________
> fuse-devel mailing list
> fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/fuse-devel
>
>


-- 
Amar Tumballi
Gluster/GlusterFS Hacker
[bulde on #gluster/irc.gnu.org]
http://www.zresearch.com - Commoditizing Supercomputing and Superstorage!
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-02 21:29 [ANNOUNCEMENT] Linux POSIX file system test suite Szabolcs Szakacsits
  2008-04-02 22:23 ` Joel Becker
@ 2008-04-03 18:27 ` Badari Pulavarty
       [not found]   ` <1207247251.30407.59.camel-Tq0y/nC7FQqofirLTBlK79w6IDGaBKkJqyM6JfAXOaQ@public.gmane.org>
  2008-04-04  0:33 ` David Chinner
  2008-04-04 20:40 ` Marc Andre Tanner
  3 siblings, 1 reply; 14+ messages in thread
From: Badari Pulavarty @ 2008-04-03 18:27 UTC (permalink / raw)
  To: Szabolcs Szakacsits, shaggy, chris.mason
  Cc: ntfs-3g-devel, linux-fsdevel, fuse-devel, ext2-devel, zfs-fuse,
	Marc Andre Tanner, Jean-Pierre ANDRE

On Thu, 2008-04-03 at 00:29 +0300, Szabolcs Szakacsits wrote:
> Hello file system developers,
> 
> There are several POSIX file system test suites: closed source, commercial, 
> one which needs reading 174 pages installation guide, etc. Because of these 
> frustrations when Pawel Jakub Dawidek ported ZFS to FreeBSD, he also wrote 
> such a test suite quickly.
> 
> Last year the NTFS-3G team ported it to Linux/ext3 and Linux/NTFS-3G to 
> validate Jean-Pierre Andre's full file permissions and ownership support 
> for NTFS-3G. We sent our patches to Pawel for integration but this doesn't 
> seem to happen him (he didn't see problems but is busy).
> 
> Since this topic regularly appears on several lists, we are also often 
> asked about it and NTFS-3G does need it to be maintained, hence we decided 
> to release it and if nobody else would like to maintain it then we will do 
> so.
> 
> The test suite mostly checks POSIX compliance and works for FreeBSD, 
> Solaris, and Linux with UFS, ZFS, ext3, and NTFS-3G file systems. The list 
> of system calls tested is: chmod, chown, link, mkdir, mkfifo, open, rename, 
> rmdir, symlink, truncate, unlink. There are currently 1950 regression 
> tests.
> 
> Availability:
> 
> 	http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz
> 
>   and in the NTFS-3G CVS as pjd-fstest module:
> 
> 	http://sourceforge.net/cvs/?group_id=181143
> 
> The usage is extremely simple:
> 
>   # tar czf pjd-fstest-20080402.tgz
>   # cd pjd-fstest-20080402
>   # vi tests/conf
>   Change 'fs' to file system type you want to test (UFS, ZFS, ext3, ntfs-3g).
>   # make
>   It will compile fstest utility which is used by regression tests.
>   # cd /path/to/file/system/you/want/to/test/
>   The test must be run as root user and requires a few basic Perl modules.
>   # prove -r /path/to/fstest/
> 
> It's also possible to run individual set of tests:
> 
>   # /path/to/fstest/tests/chown/00.t
> 
> Or make single system call tests:
> 
>   # fstest mkdir foo 0750
>   0
>   # fstest mkdir foo 0750
>   mkdir returned -1
>   EEXIST
> 
> The test suite is easy to understand, modify and extend. For instance doing 
> a test cases for the above examples is only
> 
>   expect 0 fstest mkdir foo 0750
>   expect EEXIST fstest mkdir foo 0750
> 
> The default file system type is ext3 and it passes all tests.

Hmm.. I ran it against ext2, ext3, jfs, btrfs. I don't see all "pass"
on ext3. What am I missing ?

btrfs seems to have little more failures.

Thanks,
Badari

ext2:
====

Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
/root/posix/tests/chown/00.t                 171    4   2.34%  141 145 149 153
/root/posix/tests/link/00.t                   82    6   7.32%  3 5-6 8-10
/root/posix/tests/open/05.t                   12    2  16.67%  5 9
/root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
                                                               39 42
/root/posix/tests/symlink/00.t                14    2  14.29%  2 5
/root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
/root/posix/tests/truncate/12.t                3    1  33.33%  2
/root/posix/tests/truncate/13.t                4    2  50.00%  2-3
Failed 9/184 test scripts, 95.11% okay. 33/1950 subtests failed, 98.31% okay.


ext3:
====

Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
/root/posix/tests/link/00.t                   82    6   7.32%  3 5-6 8-10
/root/posix/tests/open/05.t                   12    2  16.67%  5 9
/root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
                                                               39 42
/root/posix/tests/symlink/00.t                14    2  14.29%  2 5
/root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
/root/posix/tests/truncate/12.t                3    1  33.33%  2
/root/posix/tests/truncate/13.t                4    2  50.00%  2-3
Failed 8/184 test scripts, 95.65% okay. 29/1950 subtests failed, 98.51% okay.


jfs:
===

Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
/root/posix/tests/chown/00.t                 171    4   2.34%  141 145 149 153
/root/posix/tests/link/00.t                   82    6   7.32%  3 5-6 8-10
/root/posix/tests/open/05.t                   12    2  16.67%  5 9
/root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
                                                               39 42
/root/posix/tests/symlink/00.t                14    2  14.29%  2 5
/root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
/root/posix/tests/truncate/12.t                3    1  33.33%  2
/root/posix/tests/truncate/13.t                4    2  50.00%  2-3
Failed 9/184 test scripts, 95.11% okay. 33/1950 subtests failed, 98.31% okay.


btrfs:
=====

Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
/root/posix/tests/chown/00.t                 171    4   2.34%  141 145 149 153
/root/posix/tests/link/00.t                   82    8   9.76%  3 5-6 8-10 56 63
/root/posix/tests/open/05.t                   12    2  16.67%  5 9
/root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
                                                               39 42
/root/posix/tests/symlink/00.t                14    2  14.29%  2 5
/root/posix/tests/truncate/00.t               21    1   4.76%  15
/root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
/root/posix/tests/truncate/12.t                3    1  33.33%  2
/root/posix/tests/truncate/13.t                4    2  50.00%  2-3
/root/posix/tests/unlink/00.t                 55    3   5.45%  17 22 53
Failed 11/184 test scripts, 94.02% okay. 39/1950 subtests failed, 98.00% okay.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-02 21:29 [ANNOUNCEMENT] Linux POSIX file system test suite Szabolcs Szakacsits
  2008-04-02 22:23 ` Joel Becker
  2008-04-03 18:27 ` Badari Pulavarty
@ 2008-04-04  0:33 ` David Chinner
  2008-04-04  6:51   ` David Chinner
  2008-04-04 20:40 ` Marc Andre Tanner
  3 siblings, 1 reply; 14+ messages in thread
From: David Chinner @ 2008-04-04  0:33 UTC (permalink / raw)
  To: Szabolcs Szakacsits
  Cc: ntfs-3g-devel, linux-fsdevel, fuse-devel, ext2-devel, zfs-fuse,
	Marc Andre Tanner, Jean-Pierre ANDRE

On Thu, Apr 03, 2008 at 12:29:47AM +0300, Szabolcs Szakacsits wrote:
>   The test must be run as root user and requires a few basic Perl modules.

And openssl, it appears.

>   # prove -r /path/to/fstest/

The current xfs-dev tree:

Failed Test                    Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/root/posix/tests/chown/00.t                171    2   1.17%  84 88
/root/posix/tests/symlink/02.t                7    2  28.57%  6-7
Failed 2/184 test scripts, 98.91% okay. 4/1950 subtests failed, 99.79% okay.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-04  0:33 ` David Chinner
@ 2008-04-04  6:51   ` David Chinner
  2008-04-04 15:48     ` Christoph Hellwig
       [not found]     ` <20080404065109.GW108924158-sJ/iWh9BUns@public.gmane.org>
  0 siblings, 2 replies; 14+ messages in thread
From: David Chinner @ 2008-04-04  6:51 UTC (permalink / raw)
  To: David Chinner
  Cc: Szabolcs Szakacsits, ntfs-3g-devel, linux-fsdevel, fuse-devel,
	ext2-devel, zfs-fuse, Marc Andre Tanner, Jean-Pierre ANDRE

On Fri, Apr 04, 2008 at 10:33:30AM +1000, David Chinner wrote:
> On Thu, Apr 03, 2008 at 12:29:47AM +0300, Szabolcs Szakacsits wrote:
> >   The test must be run as root user and requires a few basic Perl modules.
> 
> And openssl, it appears.
> 
> >   # prove -r /path/to/fstest/
> 
> The current xfs-dev tree:
> 
> Failed Test                    Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> /root/posix/tests/chown/00.t                171    2   1.17%  84 88
> /root/posix/tests/symlink/02.t                7    2  28.57%  6-7
> Failed 2/184 test scripts, 98.91% okay. 4/1950 subtests failed, 99.79% okay.

Symlink tests 6 and 7:

expect 0 symlink ${name256} ${n0}
expect 0 unlink ${n0}

Test 6 is failing with ENAMETOOLONG
Test 7 is failing (correctly) with ENOENT because test 6 failed.

So there's only one failure here, and that is that that we're rejecting
${name256} as too long. I think that getname() is doing this. Seems sane
to me to disallow symlinking to pathnames that can't be constructed,
even if POSIX apparently allows it.


Chown tests 84 and 88:

Test 84 appears to be checking the result of test 83:

expect 0 -u 65534 -g 65533,65532 chown ${n0} 65534 65532
case "${os}" in
Linux)
        expect 06555,65534,65532 lstat ${n0} mode,uid,gid
        ;;
*)
        expect 0555,65534,65532 lstat ${n0} mode,uid,gid
        ;;
esac

And running these manually I get:

# /root/posix/fstest -u 65534 -g 65533,65532 chown z 65534 65532
changing groups to 65533,65532
changing uid to 65534
0
# /root/posix/fstest lstat z mode,uid,gid
0555,65534,65532

Which matches the "non-Linux" output. Looks like bits 06000 are
the set-uid and set-gid bits. Ok, Posix says:

"If the chown() function is successfully invoked on a file that is
not a regular file and one or more of the S_IXUSR, S_IXGRP, or
S_IXOTH bits of the file mode are set, the set-user-ID and
set-group-ID bits may be cleared."

So, either result is valid. Hence i suggest that test 84 and test 88
(same failure) are special cased to "ext3" behaviour.

That means XFS is not failing any tests at all.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-04  6:51   ` David Chinner
@ 2008-04-04 15:48     ` Christoph Hellwig
  2008-04-07  2:07       ` David Chinner
       [not found]     ` <20080404065109.GW108924158-sJ/iWh9BUns@public.gmane.org>
  1 sibling, 1 reply; 14+ messages in thread
From: Christoph Hellwig @ 2008-04-04 15:48 UTC (permalink / raw)
  To: David Chinner
  Cc: Szabolcs Szakacsits, ntfs-3g-devel, linux-fsdevel, fuse-devel,
	ext2-devel, zfs-fuse, Marc Andre Tanner, Jean-Pierre ANDRE

On Fri, Apr 04, 2008 at 04:51:09PM +1000, David Chinner wrote:
> expect 0 symlink ${name256} ${n0}
> expect 0 unlink ${n0}
> 
> Test 6 is failing with ENAMETOOLONG
> Test 7 is failing (correctly) with ENOENT because test 6 failed.
> 
> So there's only one failure here, and that is that that we're rejecting
> ${name256} as too long. I think that getname() is doing this. Seems sane
> to me to disallow symlinking to pathnames that can't be constructed,
> even if POSIX apparently allows it.

i'd rather expect this to be the component validation in xfs_symlink.
It's superflous and not done by any other fiesystem.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-02 21:29 [ANNOUNCEMENT] Linux POSIX file system test suite Szabolcs Szakacsits
                   ` (2 preceding siblings ...)
  2008-04-04  0:33 ` David Chinner
@ 2008-04-04 20:40 ` Marc Andre Tanner
  3 siblings, 0 replies; 14+ messages in thread
From: Marc Andre Tanner @ 2008-04-04 20:40 UTC (permalink / raw)
  To: Szabolcs Szakacsits
  Cc: ntfs-3g-devel, linux-fsdevel, fuse-devel, ext2-devel, zfs-fuse,
	Jean-Pierre ANDRE

On Thu, Apr 03, 2008 at 12:29:47AM +0300, Szabolcs Szakacsits wrote:
> 
> Hello file system developers,
> 
> There are several POSIX file system test suites: closed source, commercial, 
> one which needs reading 174 pages installation guide, etc. Because of these 
> frustrations when Pawel Jakub Dawidek ported ZFS to FreeBSD, he also wrote 
> such a test suite quickly.
> 
> Last year the NTFS-3G team ported it to Linux/ext3 and Linux/NTFS-3G to 
> validate Jean-Pierre Andre's full file permissions and ownership support 
> for NTFS-3G. We sent our patches to Pawel for integration but this doesn't 
> seem to happen him (he didn't see problems but is busy).
> 
> Since this topic regularly appears on several lists, we are also often 
> asked about it and NTFS-3G does need it to be maintained, hence we decided 
> to release it and if nobody else would like to maintain it then we will do 
> so.

Hi,

Thanks for the release. 

I have a general question regarding FUSE. Why do all the tests pass on a
regular ext3 file system while there are quite a lot of errors (~80%
success) when run on top of the fuse example file system as found in the
fuse tarball? I thought the fuse filesystem just passes every access to 
the underlying file system. So what's causing the failures? Or am i doing
something wrong?

Thanks,
Marc

-- 
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
       [not found]   ` <1207247251.30407.59.camel-Tq0y/nC7FQqofirLTBlK79w6IDGaBKkJqyM6JfAXOaQ@public.gmane.org>
@ 2008-04-06 23:34     ` Szabolcs Szakacsits
  2008-04-07 17:04       ` Badari Pulavarty
  0 siblings, 1 reply; 14+ messages in thread
From: Szabolcs Szakacsits @ 2008-04-06 23:34 UTC (permalink / raw)
  To: Badari Pulavarty
  Cc: shaggy-r/Jw6+rmf7HQT0dZR+AlfA,
	fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	zfs-fuse-/JYPxA39Uh5TLH3MbocFFw, linux-fsdevel,
	ntfs-3g-devel-TtF/mJH4Jtrk1uMJSBkQmQ,
	linux-ext4-u79uwXL29TY76Z2rM5mHXA,
	chris.mason-QHcLZuEGTsvQT0dZR+AlfA


On Thu, 3 Apr 2008, Badari Pulavarty wrote:
> On Thu, 2008-04-03 at 00:29 +0300, Szabolcs Szakacsits wrote:
>
> > The default file system type is ext3 and it passes all tests.
> 
> Hmm.. I ran it against ext2, ext3, jfs, btrfs. I don't see all "pass"
> on ext3. What am I missing ?

Your unique, consistently failing test cases for all file systems suggest 
that you have a buggy private kernel or some other individual issue in your 
test environment.

You could use the -x debug shell option in the test scripts, rerun the 
failing ones and they will show why these test cases exactly fail.
 
> btrfs seems to have little more failures.

If you find the reason for the unexpected failures then the btrfs result 
will be quite good. Apparently it has only a few link, truncate, and unlink 
ctimes update problems. I think that's quite impressive in its state of 
development.

	Szaka


> ext2:
> ====
> 
> Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> /root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
> /root/posix/tests/chown/00.t                 171    4   2.34%  141 145 149 153
> /root/posix/tests/link/00.t                   82    6   7.32%  3 5-6 8-10
> /root/posix/tests/open/05.t                   12    2  16.67%  5 9
> /root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
>                                                                39 42
> /root/posix/tests/symlink/00.t                14    2  14.29%  2 5
> /root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
> /root/posix/tests/truncate/12.t                3    1  33.33%  2
> /root/posix/tests/truncate/13.t                4    2  50.00%  2-3
> Failed 9/184 test scripts, 95.11% okay. 33/1950 subtests failed, 98.31% okay.
> 
> 
> ext3:
> ====
> 
> Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> /root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
> /root/posix/tests/link/00.t                   82    6   7.32%  3 5-6 8-10
> /root/posix/tests/open/05.t                   12    2  16.67%  5 9
> /root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
>                                                                39 42
> /root/posix/tests/symlink/00.t                14    2  14.29%  2 5
> /root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
> /root/posix/tests/truncate/12.t                3    1  33.33%  2
> /root/posix/tests/truncate/13.t                4    2  50.00%  2-3
> Failed 8/184 test scripts, 95.65% okay. 29/1950 subtests failed, 98.51% okay.
> 
> 
> jfs:
> ===
> 
> Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> /root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
> /root/posix/tests/chown/00.t                 171    4   2.34%  141 145 149 153
> /root/posix/tests/link/00.t                   82    6   7.32%  3 5-6 8-10
> /root/posix/tests/open/05.t                   12    2  16.67%  5 9
> /root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
>                                                                39 42
> /root/posix/tests/symlink/00.t                14    2  14.29%  2 5
> /root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
> /root/posix/tests/truncate/12.t                3    1  33.33%  2
> /root/posix/tests/truncate/13.t                4    2  50.00%  2-3
> Failed 9/184 test scripts, 95.11% okay. 33/1950 subtests failed, 98.31% okay.
> 
> 
> btrfs:
> =====
> 
> Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> /root/posix/tests/chmod/00.t                  58    2   3.45%  3 19
> /root/posix/tests/chown/00.t                 171    4   2.34%  141 145 149 153
> /root/posix/tests/link/00.t                   82    8   9.76%  3 5-6 8-10 56 63
> /root/posix/tests/open/05.t                   12    2  16.67%  5 9
> /root/posix/tests/rename/00.t                 79    9  11.39%  3 6 8-9 11 13 37
>                                                                39 42
> /root/posix/tests/symlink/00.t                14    2  14.29%  2 5
> /root/posix/tests/truncate/00.t               21    1   4.76%  15
> /root/posix/tests/truncate/05.t               15    5  33.33%  5-6 10-12
> /root/posix/tests/truncate/12.t                3    1  33.33%  2
> /root/posix/tests/truncate/13.t                4    2  50.00%  2-3
> /root/posix/tests/unlink/00.t                 55    3   5.45%  17 22 53
> Failed 11/184 test scripts, 94.02% okay. 39/1950 subtests failed, 98.00% okay.
>
>
>

--
NTFS-3G:  http://ntfs-3g.org



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
       [not found]     ` <20080404065109.GW108924158-sJ/iWh9BUns@public.gmane.org>
@ 2008-04-06 23:51       ` Szabolcs Szakacsits
  0 siblings, 0 replies; 14+ messages in thread
From: Szabolcs Szakacsits @ 2008-04-06 23:51 UTC (permalink / raw)
  To: David Chinner
  Cc: linux-fsdevel-u79uwXL29TY76Z2rM5mHXA,
	fuse-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	linux-ext4-u79uwXL29TY76Z2rM5mHXA,
	zfs-fuse-/JYPxA39Uh5TLH3MbocFFw,
	ntfs-3g-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f


On Fri, 4 Apr 2008, David Chinner wrote:
> On Fri, Apr 04, 2008 at 10:33:30AM +1000, David Chinner wrote:
> > On Thu, Apr 03, 2008 at 12:29:47AM +0300, Szabolcs Szakacsits wrote:
> > >   The test must be run as root user and requires a few basic Perl modules.
> > 
> > And openssl, it appears.

Openssl is replaced with md5sum+cut in the CVS. 

It would be also nice to eliminate the Perl dependency ...

> > The current xfs-dev tree:
> > 
> > Failed Test                    Stat Wstat Total Fail  Failed  List of Failed
> > -------------------------------------------------------------------------------
> > /root/posix/tests/chown/00.t                171    2   1.17%  84 88
> > /root/posix/tests/symlink/02.t                7    2  28.57%  6-7
> > Failed 2/184 test scripts, 98.91% okay. 4/1950 subtests failed, 99.79% okay.
> 
> Symlink tests 6 and 7:
> 
> expect 0 symlink ${name256} ${n0}
> expect 0 unlink ${n0}
> 
> Test 6 is failing with ENAMETOOLONG
> Test 7 is failing (correctly) with ENOENT because test 6 failed.
> 
> So there's only one failure here, and that is that that we're rejecting
> ${name256} as too long. I think that getname() is doing this. Seems sane
> to me to disallow symlinking to pathnames that can't be constructed,
> even if POSIX apparently allows it.

As Christoph noted, I also noticed XFS is unique in this behavior.

> Chown tests 84 and 88:
[...] 
> So, either result is valid. Hence i suggest that test 84 and test 88
> (same failure) are special cased to "ext3" behaviour.

Done in the CVS.

> That means XFS is not failing any tests at all.

I added the xfs target but left the symlink Test 6 fail because POSIX says

 "The string pointed to by path1 shall be treated only as a character 
  string and shall not be validated as a pathname" 

and 
 
 "the length of the path1 argument is longer than {SYMLINK_MAX}" 

where {SYMLINK_MAX} is typically not defined on Linux or it's {PATH_MAX}.

	Szaka

--
NTFS-3G:  http://ntfs-3g.org


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-04 15:48     ` Christoph Hellwig
@ 2008-04-07  2:07       ` David Chinner
  0 siblings, 0 replies; 14+ messages in thread
From: David Chinner @ 2008-04-07  2:07 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: David Chinner, Szabolcs Szakacsits, ntfs-3g-devel, linux-fsdevel,
	fuse-devel, ext2-devel, zfs-fuse, Marc Andre Tanner,
	Jean-Pierre ANDRE

On Fri, Apr 04, 2008 at 11:48:18AM -0400, Christoph Hellwig wrote:
> On Fri, Apr 04, 2008 at 04:51:09PM +1000, David Chinner wrote:
> > expect 0 symlink ${name256} ${n0}
> > expect 0 unlink ${n0}
> > 
> > Test 6 is failing with ENAMETOOLONG
> > Test 7 is failing (correctly) with ENOENT because test 6 failed.
> > 
> > So there's only one failure here, and that is that that we're rejecting
> > ${name256} as too long. I think that getname() is doing this. Seems sane
> > to me to disallow symlinking to pathnames that can't be constructed,
> > even if POSIX apparently allows it.
> 
> i'd rather expect this to be the component validation in xfs_symlink.
> It's superflous and not done by any other fiesystem.

Ah yes, you are right - PATH_MAX != NAME_MAX...

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [ANNOUNCEMENT] Linux POSIX file system test suite
  2008-04-06 23:34     ` Szabolcs Szakacsits
@ 2008-04-07 17:04       ` Badari Pulavarty
  0 siblings, 0 replies; 14+ messages in thread
From: Badari Pulavarty @ 2008-04-07 17:04 UTC (permalink / raw)
  To: Szabolcs Szakacsits
  Cc: shaggy, chris.mason, ntfs-3g-devel, linux-fsdevel, linux-ext4,
	linux-btrfs


On Mon, 2008-04-07 at 02:34 +0300, Szabolcs Szakacsits wrote:
> On Thu, 3 Apr 2008, Badari Pulavarty wrote:
> > On Thu, 2008-04-03 at 00:29 +0300, Szabolcs Szakacsits wrote:
> >
> > > The default file system type is ext3 and it passes all tests.
> > 
> > Hmm.. I ran it against ext2, ext3, jfs, btrfs. I don't see all "pass"
> > on ext3. What am I missing ?
> 
> Your unique, consistently failing test cases for all file systems suggest 
> that you have a buggy private kernel or some other individual issue in your 
> test environment.
> 
> You could use the -x debug shell option in the test scripts, rerun the 
> failing ones and they will show why these test cases exactly fail.

I am running 2.6.25-rc8-mm1. What I noticed is, these failures happen
on ppc64. I ran the tests on x86-64 and ext2, ext3 passed all the tests.

> > btrfs seems to have little more failures.
> 
> If you find the reason for the unexpected failures then the btrfs result 
> will be quite good. Apparently it has only a few link, truncate, and unlink 
> ctimes update problems. I think that's quite impressive in its state of 
> development.

Yes. Indeed. btrfs has only these tests failing now (x86-64).


Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/root/posix/tests/link/00.t                   82    2   2.44%  56 63
/root/posix/tests/truncate/00.t               21    1   4.76%  15
/root/posix/tests/unlink/00.t                 55    3   5.45%  17 22 53
Failed 3/184 test scripts, 98.37% okay. 6/1950 subtests failed, 99.69% okay.

Thanks,
Badari


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-04-07 17:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-02 21:29 [ANNOUNCEMENT] Linux POSIX file system test suite Szabolcs Szakacsits
2008-04-02 22:23 ` Joel Becker
2008-04-03  4:12   ` Szabolcs Szakacsits
     [not found]     ` <Pine.LNX.4.62.0804030705050.12223-03lVS0d9f+JcfUEgzQKStNHuzzzSOjJt@public.gmane.org>
2008-04-03 16:48       ` Joel Becker
2008-04-03 16:51       ` Amar S. Tumballi
2008-04-03 18:27 ` Badari Pulavarty
     [not found]   ` <1207247251.30407.59.camel-Tq0y/nC7FQqofirLTBlK79w6IDGaBKkJqyM6JfAXOaQ@public.gmane.org>
2008-04-06 23:34     ` Szabolcs Szakacsits
2008-04-07 17:04       ` Badari Pulavarty
2008-04-04  0:33 ` David Chinner
2008-04-04  6:51   ` David Chinner
2008-04-04 15:48     ` Christoph Hellwig
2008-04-07  2:07       ` David Chinner
     [not found]     ` <20080404065109.GW108924158-sJ/iWh9BUns@public.gmane.org>
2008-04-06 23:51       ` Szabolcs Szakacsits
2008-04-04 20:40 ` Marc Andre Tanner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).