Hi,

Thanks for the proposed patches.

What are the situations where glusterfs should not behave
like ext3/ext4 on Linux ?

I am planning an update, this will be at best in January.

Jean-Pierre


Zorro Lang wrote:
> test on redhat's glusterfs, ext3 and xfs, and make sure that:
>   - ext3 and xfs all pasted for now,
>   - glusterfs has some bugs has been reported.
>   - The test cases can be used normally for linux ext, xfs and glusterfs.
> ---
>
> Hi,
>
> I am Zorro Lang, from redhat fs-qe.
>
> This commit contain modification like below:
> 1. modify tests/conf and README files, add glusterfs description to them
> 2. add S_ISUID, S_ISGID and S_ISVTX test in chmod/00.t
> 3. change the ctime judgement after chown(-1, -1) in chown/00.t
> 4. change the ctime judgement after setfacl in xacl/00.t
> 5. modify the problem that the test dir will not be remove after test on a fs 
> not support acl.
>
> Because many errors happened when I tested in glusterfs, so I must check those
> errors, to judge which is a glusterfs bug and which is a test case bug. Now I 
> have use the
> posix test to run in linux:ext3, linux:xfs and linux:glusterfs, ext3 and xfs 
> all passed.
> In glusterfs the posix test can run normally, and glusterfs bugs have been
> reported by me. Maybe there are still some bugs for test on glusterfs, I will 
> try to find and
> fix them in the future.
>
> Hope to submit the "glusterfs test" to the upstream, for many people can 
> review, use
> and test it, and report more bugs.
>
> Thank you,
> Best Regards,
> Zorro Lang
>
>
>   README           |  4 ++--
>   tests/chmod/00.t | 60 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++----
>   tests/chown/00.t | 28 ++++++++++++++++++--------
>   tests/conf       |  2 +-
>   tests/xacl/00.t  | 13 ++++++++++--
>   tests/xacl/01.t  |  4 +++-
>   tests/xacl/02.t  |  4 +++-
>   tests/xacl/03.t  |  4 +++-
>   tests/xacl/04.t  |  4 +++-
>   tests/xacl/05.t  |  4 +++-
>   tests/xacl/06.t  |  4 +++-
>   11 files changed, 108 insertions(+), 23 deletions(-)
>
> diff --git a/README b/README
> index d549e34..445a18a 100644
> --- a/README
> +++ b/README
> @@ -5,7 +5,7 @@ Few notes on how to use fstest in short steps:
>       # cd fstest
>       # vi tests/conf
>       Change 'fs' to file system type you want to test. These can be:
> -     UFS, ZFS, ext3, ntfs-3g and xfs.
> +     UFS, ZFS, ext3, ntfs-3g, xfs, glusterfs.
>       # vi Makefile
>       You may need to manually tweak few things by editing CFLAGS lines
>       at the top of the file.
> @@ -18,7 +18,7 @@ Few notes on how to use fstest in short steps:
>   That's all. Enjoy.
>
>   Currently supported operating systems: FreeBSD, Solaris, Linux.
> -Currently supported file system types: UFS, ZFS, ext3, ntfs-3g, xfs.
> +Currently supported file system types: UFS, ZFS, ext3, ntfs-3g, xfs, 
> glusterfs.
>
>   Author:
>   Pawel Jakub Dawidek <[email protected]>
> diff --git a/tests/chmod/00.t b/tests/chmod/00.t
> index 74dc552..700fbb7 100755
> --- a/tests/chmod/00.t
> +++ b/tests/chmod/00.t
> @@ -7,9 +7,9 @@ dir=`dirname $0`
>   . ${dir}/../misc.sh
>
>   if supported lchmod; then
> -     echo "1..77"
> +     echo "1..125"
>   else
> -     echo "1..58"
> +     echo "1..106"
>   fi
>
>   n0=`namegen`
> @@ -19,7 +19,7 @@ n2=`namegen`
>   expect 0 mkdir ${n2} 0755
>   cdir=`pwd`
>   cd ${n2}
> -
> +# 2
>   expect 0 create ${n0} 0644
>   expect 0644 stat ${n0} mode
>   expect 0 chmod ${n0} 0111
> @@ -31,7 +31,7 @@ expect 0755 stat ${n0} mode
>   expect 0 chmod ${n0} 0753
>   expect 0753 stat ${n0} mode
>   expect 0 rmdir ${n0}
> -
> +# 12
>   expect 0 mkfifo ${n0} 0644
>   expect 0644 stat ${n0} mode
>   expect 0 chmod ${n0} 0310
> @@ -61,6 +61,58 @@ if supported lchmod; then
>       expect 0 unlink ${n1}
>   fi
>
> +# test S_ISUID, S_ISGID and S_ISVTX and permission bits combinations
> +expect 0 create ${n0} 0644
> +expect 0 chmod ${n0} 01111
> +expect 01111 stat ${n0} mode
> +expect 0 chmod ${n0} 02222
> +expect 02222 stat ${n0} mode
> +expect 0 chmod ${n0} 03333
> +expect 03333 stat ${n0} mode
> +expect 0 chmod ${n0} 04444
> +expect 04444 stat ${n0} mode
> +expect 0 chmod ${n0} 05555
> +expect 05555 stat ${n0} mode
> +expect 0 chmod ${n0} 06666
> +expect 06666 stat ${n0} mode
> +expect 0 chmod ${n0} 07777
> +expect 07777 stat ${n0} mode
> +expect 0 unlink ${n0}
> +
> +expect 0 mkdir ${n0} 0755
> +expect 0 chmod ${n0} 01111
> +expect 01111 stat ${n0} mode
> +expect 0 chmod ${n0} 02222
> +expect 02222 stat ${n0} mode
> +expect 0 chmod ${n0} 03333
> +expect 03333 stat ${n0} mode
> +expect 0 chmod ${n0} 04444
> +expect 04444 stat ${n0} mode
> +expect 0 chmod ${n0} 05555
> +expect 05555 stat ${n0} mode
> +expect 0 chmod ${n0} 06666
> +expect 06666 stat ${n0} mode
> +expect 0 chmod ${n0} 07777
> +expect 07777 stat ${n0} mode
> +expect 0 rmdir ${n0}
> +
> +expect 0 mkfifo ${n0} 0644
> +expect 0 chmod ${n0} 01111
> +expect 01111 stat ${n0} mode
> +expect 0 chmod ${n0} 02222
> +expect 02222 stat ${n0} mode
> +expect 0 chmod ${n0} 03333
> +expect 03333 stat ${n0} mode
> +expect 0 chmod ${n0} 04444
> +expect 04444 stat ${n0} mode
> +expect 0 chmod ${n0} 05555
> +expect 05555 stat ${n0} mode
> +expect 0 chmod ${n0} 06666
> +expect 06666 stat ${n0} mode
> +expect 0 chmod ${n0} 07777
> +expect 07777 stat ${n0} mode
> +expect 0 unlink ${n0}
> +
>   # successful chmod(2) updates ctime.
>   expect 0 create ${n0} 0644
>   ctime1=`${fstest} stat ${n0} ctime`
> diff --git a/tests/chown/00.t b/tests/chown/00.t
> index 577170d..fc0bd03 100755
> --- a/tests/chown/00.t
> +++ b/tests/chown/00.t
> @@ -283,11 +283,14 @@ sleep 1
>   expect 0 -- chown ${n0} -1 -1
>   ctime2=`${fstest} stat ${n0} ctime`
>   case "${os}:${fs}" in
> -Linux:ext3)
> +Linux:ext3 | Linux:xfs | Linux:glusterfs)
>       test_check $ctime1 -lt $ctime2
>           ;;
> -*)
> +*:ext3 | *:xfs | *:ZFS | *:ntfs-3g | *:UFS)
>       test_check $ctime1 -eq $ctime2
> +     ;;
> +*)
> +     test_check $ctime1 -le $ctime2
>           ;;
>   esac
>   expect 0 unlink ${n0}
> @@ -298,11 +301,14 @@ sleep 1
>   expect 0 -- chown ${n0} -1 -1
>   ctime2=`${fstest} stat ${n0} ctime`
>   case "${os}:${fs}" in
> -Linux:ext3)
> +Linux:ext3 | Linux:xfs | Linux:glusterfs)
>       test_check $ctime1 -lt $ctime2
>           ;;
> -*)
> +*:ext3 | *:xfs | *:ZFS | *:ntfs-3g | *:UFS)
>       test_check $ctime1 -eq $ctime2
> +     ;;
> +*)
> +     test_check $ctime1 -le $ctime2
>           ;;
>   esac
>   expect 0 rmdir ${n0}
> @@ -313,11 +319,14 @@ sleep 1
>   expect 0 -- chown ${n0} -1 -1
>   ctime2=`${fstest} stat ${n0} ctime`
>   case "${os}:${fs}" in
> -Linux:ext3)
> +Linux:ext3 | Linux:xfs | Linux:glusterfs)
>       test_check $ctime1 -lt $ctime2
>           ;;
> -*)
> +*:ext3 | *:xfs | *:ZFS | *:ntfs-3g | *:UFS)
>       test_check $ctime1 -eq $ctime2
> +     ;;
> +*)
> +     test_check $ctime1 -le $ctime2
>           ;;
>   esac
>   expect 0 unlink ${n0}
> @@ -328,11 +337,14 @@ sleep 1
>   expect 0 -- lchown ${n0} -1 -1
>   ctime2=`${fstest} lstat ${n0} ctime`
>   case "${os}:${fs}" in
> -Linux:ext3)
> +Linux:ext3 | Linux:xfs | Linux:glusterfs)
>       test_check $ctime1 -lt $ctime2
>           ;;
> -*)
> +*:ext3 | *:xfs | *:ZFS | *:ntfs-3g | *:UFS)
>       test_check $ctime1 -eq $ctime2
> +     ;;
> +*)
> +     test_check $ctime1 -le $ctime2
>           ;;
>   esac
>   expect 0 unlink ${n0}
> diff --git a/tests/conf b/tests/conf
> index 5e53ea4..98d8161 100644
> --- a/tests/conf
> +++ b/tests/conf
> @@ -4,5 +4,5 @@
>   # Known operating systems: FreeBSD, SunOS, Linux
>   os=`uname`
>
> -# Known file systems: UFS, ZFS, ext3, ntfs-3g, xfs
> +# Known file systems: UFS, ZFS, ext3, ntfs-3g, xfs, glusterfs
>   fs="ext3"
> diff --git a/tests/xacl/00.t b/tests/xacl/00.t
> index c74d60a..6109931 100755
> --- a/tests/xacl/00.t
> +++ b/tests/xacl/00.t
> @@ -94,12 +94,21 @@ expect 0 setfacl ${d0}/${n2} m 'u::x,g::x,o::x'
>   ctime3=`${fstest} stat ${d0} ctime`
>   ctime4=`${fstest} stat ${d0}/${n2} ctime`
>   test_check $ctime1 -eq $ctime3
> -test_check $ctime2 -eq $ctime4
> +case "${os}:${fs}" in
> +Linux:ext3|Linux:xfs|Linux:glusterfs)
> +     test_check $ctime2 -lt $ctime4
> +     ;;
> +*)
> +     test_check $ctime2 -eq $ctime4
> +     ;;
> +esac
>
>   #
>   # Clean
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
> diff --git a/tests/xacl/01.t b/tests/xacl/01.t
> index e972630..fbe54f6 100755
> --- a/tests/xacl/01.t
> +++ b/tests/xacl/01.t
> @@ -79,5 +79,7 @@ expect 
> 'u::---,u:root:--x,u:65531:-wx,g::-wx,g:root:r-x,g:65532:--x,m::rwx,o::r-
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
> diff --git a/tests/xacl/02.t b/tests/xacl/02.t
> index 1f6435c..91769cb 100755
> --- a/tests/xacl/02.t
> +++ b/tests/xacl/02.t
> @@ -140,5 +140,7 @@ expect 
> 'u::r--,u:root:r-x,u:65531:rwx,g::r--,g:root:rw-,g:65532:rwx,m::rwx,o::r-
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
> diff --git a/tests/xacl/03.t b/tests/xacl/03.t
> index 4aa6a3c..a27421e 100755
> --- a/tests/xacl/03.t
> +++ b/tests/xacl/03.t
> @@ -132,5 +132,7 @@ expect EACCES getfacl ${d0}/${n2} default
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
> diff --git a/tests/xacl/04.t b/tests/xacl/04.t
> index b1f37a9..6984e87 100755
> --- a/tests/xacl/04.t
> +++ b/tests/xacl/04.t
> @@ -110,5 +110,7 @@ expect 0 -u 65533 setfacl ${d0}/${n1} m 
> 'u::rw,g::r,o::r,m::rx'
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
> diff --git a/tests/xacl/05.t b/tests/xacl/05.t
> index 3a06309..24eba0e 100755
> --- a/tests/xacl/05.t
> +++ b/tests/xacl/05.t
> @@ -72,6 +72,8 @@ expect ENOTDIR getfacl ${d0}/${n1}/none access
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
>
> diff --git a/tests/xacl/06.t b/tests/xacl/06.t
> index 0e9338f..55fe3c6 100755
> --- a/tests/xacl/06.t
> +++ b/tests/xacl/06.t
> @@ -117,7 +117,9 @@ expect 0 -u 65533 -g 65533 setfacl ${d0} k
>   #
>   rm -rf ${d0}
>
> -else quick_exit
> +else
> +rmdir ${n1}
> +quick_exit
>   fi
>
>   #/home/linux/rpmbuild/ntfs/fstest/pjd-fstest/fstest -u 65533 getfacl ${d0} 
> access
>



------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to