Re: nfsd4 xdr encoding fixes v2

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

 



On Tue, May 13, 2014 at 05:33:21PM -0400, J. Bruce Fields wrote:
> On Tue, May 13, 2014 at 05:18:41PM -0400, bfields wrote:
> > On Tue, May 13, 2014 at 10:48:26AM -0400, J. Bruce Fields wrote:
> > > On Tue, May 13, 2014 at 04:09:45AM -0700, Christoph Hellwig wrote:
> > > > On Mon, May 12, 2014 at 09:11:28AM -0700, Christoph Hellwig wrote:
> > > > > On Mon, May 12, 2014 at 12:07:41PM -0400, J. Bruce Fields wrote:
> > > > > > On Mon, May 12, 2014 at 01:20:59AM -0700, Christoph Hellwig wrote:
> > > > > > > This series seem to cause hangs during xfstests against a server on the
> > > > > > > same VM.  The trace is fairly similar every the hang happens, but the
> > > > > > > point at which it happens differs:
> > > > > > 
> > > > > > Ouch, OK, and you're sure it starts with this series?
> > > > > > 
> > > > > > I guess I should try to replicate it here.  Might take a copule days.
> > > > 
> > > > Seems lile "nfsd4: allow exotic read compounds" is the culprit.
> > > 
> > > OK, it makes sense that the problem would be there.  Looking....
> > 
> > I got xfstests set up and can reproduce some problems (a hang, the
> > nfs4svc_encode_compoundres WARN, and some allocation failures), though
> > not exactly what you reported.
> > 
> > I also notice that commit ("nfsd4: allow exotic read compounds") has a
> > lot of extraneous cleanup that I should split out.
> 
> In fact, the change to handle multiple reads per compound *should* only
> affect the nfsd4_encode_readv() case.  Whereas you're probably
> exercising only the nfsd4_encode_splice_read() case.  So probably some
> of the extraneous cleanup in that patch is bogus.

Yes, this removal:

	-	xdr->page_ptr += (maxcount + PAGE_SIZE - 1) / PAGE_SIZE;

buried in that cleanup is bogus and seems like it could result in
freeing a page twice.  I've fixed that and split the confusing "cleanup"
out into separate patches.  I can't get any hangs by running xfstests
any more.

On the other hand, I never saw exactly what you did, so more testing
wouldn't hurt.

I'll send out a v3 soon.

--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