Re: LAYOUTGET and NFS4ERR_DELAY: a few questions

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

 



On Tue, 2013-06-25 at 17:00 +0300, Nadav Shemer wrote:
> On Tue, Jun 25, 2013 at 4:43 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> > On Tue, Jun 25, 2013 at 02:51:48PM +0300, Nadav Shemer wrote:
> >> This makes me ponder. If the server blocks while waiting for
> >> conflicting layouts to be recalled, I think we can theoretically reach
> >> a deadlock (if we take up all the nfsd threads or all the clients'
> >> session slots): client A hold layout to file X, and requests layout to
> >> file Y, while client B holds layout to file Y and requests layout to
> >> file X.
> >> To avoid this, we pretty much have to return DELAY for LAYOUTGET
> >
> > I agree that you wouldn't want to block waiting for a client to return a
> > layout.  Is this a case for NFS4ERR_LAYOUTTRYLATER?
> Yes, I believe it is.
> Specifically the Linux client treats them all the same (LAYOUTTRYLATER
> and RECALLCONFLICT are both mapped to DELAY before passing to
> nfs4_async_handle_error)
> Do you think there is a case for an exponential backoff in this case
> for a specific (non-DELAY) error code?

Why do we care? If this is about passing some unit test somewhere, then
I frankly don't give a damn.

If. OTOH, there is a valid use case where 2 clients must request
conflicting layouts for the same file, then let's discuss that specific
case.

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com
--
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