Re: [PATCH 1/2] common/rc: Check 'tPnE' flags on a directory instead of a regilar file

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Tue, Sep 08, 2020 at 09:15:22PM +0800, Xiao Yang wrote:
> 'tPnE' flags are only valid for a directory so check them on a directory.
> 
> Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxxxxx>
> ---
>  common/rc | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/common/rc b/common/rc
> index aa5a7409..cf31eebc 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2168,8 +2168,14 @@ _require_xfs_io_command()
>  		fi
>  		# Test xfs_io chattr support AND
>  		# filesystem FS_IOC_FSSETXATTR support
> -		testio=`$XFS_IO_PROG -F -f -c "chattr +$param" $testfile 2>&1`
> -		$XFS_IO_PROG -F -f -r -c "chattr -$param" $testfile 2>&1
> +		# 'tPnE' flags are only valid for a directory so check them on a directory.
> +		if echo "$param" | egrep -q 't|P|n|E'; then
> +			testio=`$XFS_IO_PROG -F -c "chattr +$param" $TEST_DIR 2>&1`
> +			$XFS_IO_PROG -F -r -c "chattr -$param" $TEST_DIR 2>&1

I don't think it's a good idea to try chattr on $TEST_DIR, it may change
the behavior of all sub-dirs and files in it and cause unexpected
failures. (I know we do "chattr -$param" right away, but it still looks
dangerous to me.) It's better to create a new $testdir like $testfile to
try on, and remove it after test.

Thanks,
Eryu

> +		else
> +			testio=`$XFS_IO_PROG -F -f -c "chattr +$param" $testfile 2>&1`
> +			$XFS_IO_PROG -F -r -c "chattr -$param" $testfile 2>&1
> +		fi
>  		param_checked="+$param"
>  		;;
>  	"chproj")
> -- 
> 2.21.0
> 
> 



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux