[pnfs] [PATCH 9/9] pnfs client prevent race in sequence slot

Trond Myklebust trond.myklebust at fys.uio.no
Thu Sep 27 14:39:01 EDT 2007


On Thu, 2007-09-27 at 11:23 -0700, Iyer, Rahul wrote:
> 
> > -----Original Message-----
> > From: Trond Myklebust [mailto:trond.myklebust at fys.uio.no] 
> > Sent: Thursday, September 27, 2007 11:05 AM
> > To: Benny Halevy
> > Cc: pnfs at linux-nfs.org; andros at umich.edu
> > Subject: Re: [pnfs] [PATCH 9/9] pnfs client prevent race in 
> > sequence slot
> > 
> > On Thu, 2007-09-27 at 17:38 +0200, Benny Halevy wrote:
> > 
> > > I'm afraid there might be more into that. For example, if the 
> > > interrupted rpc was stateid changing you have to process 
> > the reply to 
> > > stay in sync with the server so in general I still think the client 
> > > must process the reply regardless of whether whoever 
> > generated the rpc 
> > > is waiting for it or not.  This means that if an rpc is 
> > interrupted we 
> > > need to return -EINTR upstream and postpone the processing 
> > of the rpc 
> > > reply as if it was an async rpc even if it started as synchronous 
> > > rather than try to second guess the server by probing it. (it could 
> > > have been easier if there was a way to officially try to cancel an 
> > > outstanding rpc...)
> > 
> > That should not be a problem if you guys have followed the 
> > existing prescription of always using asynchronous RPC calls 
> > for stateful operations. Those are always guaranteed to complete.
> >
> 
> This can be a problem because it converts nearly every rpc into an async
> call as there's a sequence op in almost every one of them. 
> -Rahul

Which is why I proposed the workaround for synchronous calls _only_.
Please go back and read my proposal.

Trond



More information about the pNFS mailing list