Re: [PATCH] common/rc: only force nfs4.2 non-default SEEK_HOLE behaviour

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



[cc nfs list]

On Thu, Jul 29, 2021 at 12:47:58PM +0800, Jeffle Xu wrote:
> Only NFSv4.2 supports non-defautl SEEK_HOLE behaviour. Thus default
> SEEK_HOLE behaviour shall be allowed for NFSv4.0/4.1, or it will fail
> generic/285, generic/448, generic/490 on NFSv4.0/4.1, complaining they
> should support non-default SEEK_HOLE behaviour.
> 
> The *.full log is like:
> 	File system supports the default behavior.
> 	Default behavior is not allowed. Aborting.
> 
> Signed-off-by: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx>

Looks correct to me, but I'd like nfs folks to take a look as well, to
conform if only nfsv4.2 supports SEEK_DATA/SEEK_HOLE non-default
behavior.

Thanks,
Eryu

P.S.
Please cc the corresponding filesystem list next time if patch affects
the specific fs.

> ---
>  common/rc | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/common/rc b/common/rc
> index 25a838a3..9be6f89d 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2495,10 +2495,10 @@ _fstyp_has_non_default_seek_data_hole()
>  		return 0
>  		;;
>  	nfs*)
> -		# NFSv2 and NFSv3 only support default behavior of SEEK_HOLE,
> -		# while NFSv4 supports non-default behavior
> -		local nfsvers=`_df_device $TEST_DEV | $AWK_PROG '{ print $2 }'`
> -		[ "$nfsvers" = "nfs4" ]
> +		# NFSv2, NFSv3, and NFSv4.0/4.1 only support default behavior of SEEK_HOLE,
> +		# while NFSv4.2 supports non-default behavior
> +		local nfsvers=`_mount() | grep $TEST_DEV | sed -n 's/^.*vers=\([0-9.]*\).*$/\1/p'`
> +		[ "$nfsvers" = "4.2" ]
>  		return $?
>  		;;
>  	overlay)
> -- 
> 2.27.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