Re: [PATCH 22/50] nfsd4: use xdr_truncate_encode

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

 



On Sat, Mar 22, 2014 at 11:50:05PM -0700, Christoph Hellwig wrote:
> Ah, here we got the helper for most of the error handling I asked for
> earlier.  Might be worth mentioning in that patch that this gets further
> improvements soons.

OK, will do.

> >  	if (nfserr) {
> > -		xdr->p -= 2;
> > -		xdr->iov->iov_len -= 8;
> > +		xdr->buf->page_len = 0;
> > +		xdr_truncate_encode(xdr, starting_len);
> 
> Why do we still need to manually set the page_len?

In the splice case read increments page_len as it goes.  This leaves the
xdr_buf in somewhat of an inconsistent state and may confuse a later
xdr_truncate_encode.

It's a little ugly, I'm not sure what to do about it.  Currently I'm
thinking of just telling nfsd's splice callback to leave page_len alone.
That'd mean taking another look at the splice callback and at the v2/v3
read code.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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