Re: [PATCH v4 0/6] nfsd: overhaul the client name tracking code

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

 



On Jan 25, 2012, at 4:54 PM, J. Bruce Fields wrote:

> On Wed, Jan 25, 2012 at 04:29:02PM -0500, Chuck Lever wrote:
>> 
>> On Jan 25, 2012, at 4:25 PM, J. Bruce Fields wrote:
>> 
>>> On Wed, Jan 25, 2012 at 03:23:56PM -0500, Jeff Layton wrote:
>>>> I suggest that we only allow the reclaim of locks
>>>> on the original address against which they were established.
>>> 
>>> I'm not sure what that means.
>>> 
>>> If a server stops responding, the v4.0 client has two choices: it can
>>> either wait for the server to come back, and reclaim when it does.  Or
>>> if it supports failover it can go find another server and perform
>>> reclaims over there.
>> 
>> Honestly, I don't think that's possible in NFSv4.0.
> 
> Well, it was *supposed* to be possible, wasn't it?  I thought fixing up
> 3530 to make that work was part of what the discussion around
> http://datatracker.ietf.org/doc/draft-dnoveck-nfsv4-migration-issues/
> was about?  (OK, I should actually read that.)

No, that's just for migration.  Failover is different, though it uses some of the same mechanisms.

> Agreed that there doesn't seem to be an agreed-upon way to do it now....
> 
> --b.
> 
>> The richer information provided by fs_locations_info can allow the client to determine whether two servers share more than simply data.  That information does not exist in NFSv4.0, so there's no way a client can expect that two servers lists in fs_locations results will always have the same NFSv4 state.
>> 
>> Thus I believe that NFSv4.0 replication is limited to read-only data.  But I have to go back and read that chapter of 3530 again.
>> 
>>> I'm a little unclear how it does that, but I suppose it first tests
>>> somehow to see whether its existing state is supported, and if not, it
>>> establishes a new clientid with SETCLIENTID/SETCILENTID_CONFIRM using
>>> its old name, and then attempts to reclaim.
>>> 
>>> You're now requiring it *not* to do that if it happens that the servers
>>> all rebooted in the meantime.  How does it know that that's what
>>> happened?
>>> 
>>> Or maybe that's not what you want to require, I'm not sure.
>>> 
>>> --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
>> 
>> -- 
>> Chuck Lever
>> chuck[dot]lever[at]oracle[dot]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

-- 
Chuck Lever
chuck[dot]lever[at]oracle[dot]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