Re: NFSd state: nfs4_lock_state() and nfs4_lock_state()

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

 



19.11.2012 16:46, bfields@xxxxxxxxxxxx пишет:
On Mon, Nov 19, 2012 at 12:39:23PM +0400, Stanislav Kinsbursky wrote:
16.11.2012 20:58, bfields@xxxxxxxxxxxx пишет:

A patch follows: note it's a two-line patch, with 20 lines of changelog
showing that I looked at what state might be shared by other threads and
explaining why I think this is safe.


Acked-by: Stanislav Kinsburskiy <skinsbursky@xxxxxxxxxxxxx>

I think that's what we need to do: little patches that remove it from
one or another part of the code with careful explanation of why it
works.


Yes, thanks. I'll also try to simplify nfsd_open() by little patches.
In general it looks like client_mutex protect two different things:
open owner state (which is containerised already, actually) and
files access.
So, probably, this client mutex have to be converted into two:
per-net one, which protects open owner state, and static one, which
protects files operations.
What do you think about it?

That sounds right.


Looked into the code, and few more questions raised.
So, currently, this mutex protects different NFS4 state structures and VFS file operations (like open, read, write, etc.).
I would like this mutex to be converted into per-net one. Since NFS4 state structures are per-net already (with my previous patch set), the only thing left is VFS operations.
But do we really need to protect them somehow from concurrent access?
I.e. do we have some RPCs, which does more that one file manipulation, but this manipulations sequence have to be "atomic" in NFSd terms?

--
Best regards,
Stanislav Kinsbursky
--
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