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

Anna Schumaker
2021-08-02T15:03:14Z

Hi Eryu,

On Sun, Aug 1, 2021 at 6:43 AM Eryu Guan <guan@eryu.me> wrote:
>
> [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@linux.alibaba.com>
>
> 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.

This is correct, non-default SEEK_DATA/SEEK_HOLE is only supported by NFS v4.2.

Thanks for checking!
Anna
>
> 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