Re: Questions about pynfs:testLargeData-WRT5

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

 



On Fri, 2018-02-09 at 09:49 -0500, J. Bruce Fields wrote:
> On Fri, Feb 09, 2018 at 09:27:00AM +0800, Lu Xinyu wrote:
> > I ran pynfs on the RHEL7.4GA with different
> > kernels(3.10.0-830.el7,4.15). The testLargeData:WRT5 failed with
> > broken pipe. I investigated pynfs code and got the following
> > questions.
> > 
> > 1.The intent of WRT5 To check whether the server could handle a
> > too-large value over NFSSVC_MAXBLKSIZE.
> > 
> > 2.The expected procedure when test gets passed The server could
> > write
> > down the oversize data successfully sent by client and return
> > NFS4_OK.
> > Then, client could read back the data from server.
> 
> Yes, that test is definitely wrong.  It might happen to work on
> servers
> that support larger IO size, but the Linux server doesn't.  And,
> anyway,
> it's perfectly legal for a server to only support lower read/write
> size.
> 
> So, the test needs check the server's advertised maximum read and
> write
> sizes, and then either:
> 
> 	1) use that maximum size, and expect success, or
> 	2) use a larger size and expect some sort of error.
> 
> > (Actually, the test failed with broken pipe and did not return
> > packet
> > information.)
> > 
> > 3.The nfs server's standrd procedure of handling oversize data It
> > seems that the related error is not defined in the RFC3530. Whether
> > the server should return any NFSERR before ceasing receving ?
> 
> I'm not sure if the RFC's specify the behavior here.  I'll go do some
> research.  I have a feeling they don't.  In that case I think the
> best
> option will be 1) above.
>  

For NFSv4, you would have the option of returning NFS4ERR_RESOURCE or
possibly NFS4ERR_INVAL (personally, I'd prefer the latter, since
NFS4ERR_RESOURCE is too wooly).

For NFSv4.1 or above, you probably have a choice of NFS4ERR_REQ_TOO_BIG
(if the size is greater than ca_maxrequestsize) or NFS4ERR_INVAL.

-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@xxxxxxxxxxxxxxx
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux