Re: [PATCH v4 003/100] nfsd: Ensure stateids remain unique until they are freed

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

 



On Thu, 10 Jul 2014 04:23:42 -0700
Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

> On Tue, Jul 08, 2014 at 02:02:51PM -0400, Jeff Layton wrote:
> > From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
> > 
> > Add an extra delegation state to allow the stateid to remain in the idr
> > tree until the last reference has been released. This will be necessary
> > to ensure uniqueness once the client_mutex is removed.
> > 
> > [jlayton: reset the sc_type under the state_lock in unhash_delegation]
> 
> I'd be tempted to instead have a closed flag, there's plenty of space in
> the hole after sc_type anyway.
> 
> The rationale for that is that a stateid really shouldn't change the
> type during it's life time, and callers that specify the type to look
> up shouldn't bother with looking up different types due to this either.
> 
> NFS4_REVOKED_DELEG_STID would also be replaced by a revoked flag, which
> makes much more sene to start with as well.
> 

That sort of change will ripple throughout the set. Your point about
not changing the sc_type is valid though. I'll see whether it's doable.

> Btw, do you also plan to keep open stateids as NFS4_CLOSED_STID for
> 4.1+?  In that case the comment there would need an update.  What about
> lock stateids?
> 

No. For v4.1+ we have no need to keep stateids around that are closed.
They are released as soon as the close occurs. The only reason to keep
them around is for v4.0 replays.

-- 
Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
--
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