<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/lockd/svc.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-06-30T20:35:07Z</updated>
<entry>
<title>lockd: unregister notifier blocks if the service fails to come up completely</title>
<updated>2016-06-30T20:35:07Z</updated>
<author>
<name>Scott Mayhew</name>
</author>
<published>2016-06-30T14:39:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb7d224f82e41d82518e7f9ea271d215d4d08e6e'/>
<id>urn:sha1:cb7d224f82e41d82518e7f9ea271d215d4d08e6e</id>
<content type='text'>
If the lockd service fails to start up then we need to be sure that the
notifier blocks are not registered, otherwise a subsequent start of the
service could cause the same notifier to be registered twice, leading to
soft lockups.

Signed-off-by: Scott Mayhew &lt;smayhew@redhat.com&gt;
Cc: stable@vger.kernel.org
Fixes: 0751ddf77b6a "lockd: Register callbacks on the inetaddr_chain..."
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: constify nlmsvc_binding structure</title>
<updated>2016-01-07T15:10:50Z</updated>
<author>
<name>Julia Lawall</name>
</author>
<published>2015-12-23T21:25:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2a297450dd188a5d4e5e428c189b2de54f9073ba'/>
<id>urn:sha1:2a297450dd188a5d4e5e428c189b2de54f9073ba</id>
<content type='text'>
The nlmsvc_binding structure is never modified, so declare it as const.

Done with the help of Coccinelle.

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: use to_delayed_work</title>
<updated>2016-01-07T15:10:50Z</updated>
<author>
<name>Geliang Tang</name>
</author>
<published>2016-01-01T14:06:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea44463f376236a0541288cb8d575ab6b50370d2'/>
<id>urn:sha1:ea44463f376236a0541288cb8d575ab6b50370d2</id>
<content type='text'>
Use to_delayed_work() instead of open-coding it.

Signed-off-by: Geliang Tang &lt;geliangtang@163.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: Register callbacks on the inetaddr_chain and inet6addr_chain</title>
<updated>2015-12-23T15:08:16Z</updated>
<author>
<name>Scott Mayhew</name>
</author>
<published>2015-12-11T21:46:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0751ddf77b6af2efe1041efb81141badd64efb65'/>
<id>urn:sha1:0751ddf77b6af2efe1041efb81141badd64efb65</id>
<content type='text'>
Register callbacks on inetaddr_chain and inet6addr_chain to trigger
cleanup of lockd transport sockets when an ip address is deleted.

Signed-off-by: Scott Mayhew &lt;smayhew@redhat.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: get rid of reference-counted NSM RPC clients</title>
<updated>2015-10-23T19:57:27Z</updated>
<author>
<name>Andrey Ryabinin</name>
</author>
<published>2015-10-07T11:39:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d0f4aab4e4d290138a4ae7f2ef8469e48c9a669'/>
<id>urn:sha1:0d0f4aab4e4d290138a4ae7f2ef8469e48c9a669</id>
<content type='text'>
Currently we have reference-counted per-net NSM RPC client
which created on the first monitor request and destroyed
after the last unmonitor request. It's needed because
RPC client need to know 'utsname()-&gt;nodename', but utsname()
might be NULL when nsm_unmonitor() called.

So instead of holding the rpc client we could just save nodename
in struct nlm_host and pass it to the rpc_create().
Thus ther is no need in keeping rpc client until last
unmonitor request. We could create separate RPC clients
for each monitor/unmonitor requests.

Signed-off-by: Andrey Ryabinin &lt;aryabinin@virtuozzo.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: create NSM handles per net namespace</title>
<updated>2015-10-12T21:31:05Z</updated>
<author>
<name>Andrey Ryabinin</name>
</author>
<published>2015-09-23T12:49:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ad95472bf169a3501991f8f33f5147f792a8116'/>
<id>urn:sha1:0ad95472bf169a3501991f8f33f5147f792a8116</id>
<content type='text'>
Commit cb7323fffa85 ("lockd: create and use per-net NSM
 RPC clients on MON/UNMON requests") introduced per-net
NSM RPC clients. Unfortunately this doesn't make any sense
without per-net nsm_handle.

E.g. the following scenario could happen
Two hosts (X and Y) in different namespaces (A and B) share
the same nsm struct.

1. nsm_monitor(host_X) called =&gt; NSM rpc client created,
	nsm-&gt;sm_monitored bit set.
2. nsm_mointor(host-Y) called =&gt; nsm-&gt;sm_monitored already set,
	we just exit. Thus in namespace B ln-&gt;nsm_clnt == NULL.
3. host X destroyed =&gt; nsm-&gt;sm_count decremented to 1
4. host Y destroyed =&gt; nsm_unmonitor() =&gt; nsm_mon_unmon() =&gt; NULL-ptr
	dereference of *ln-&gt;nsm_clnt

So this could be fixed by making per-net nsm_handles list,
instead of global. Thus different net namespaces will not be able
share the same nsm_handle.

Signed-off-by: Andrey Ryabinin &lt;aryabinin@virtuozzo.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: NLM grace period shouldn't block NFSv4 opens</title>
<updated>2015-08-13T14:22:06Z</updated>
<author>
<name>J. Bruce Fields</name>
</author>
<published>2015-08-06T16:47:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c87fb4a378f93f114b9906e180d83877cee4e7f4'/>
<id>urn:sha1:c87fb4a378f93f114b9906e180d83877cee4e7f4</id>
<content type='text'>
NLM locks don't conflict with NFSv4 share reservations, so we're not
going to learn anything new by watiting for them.

They do conflict with NFSv4 locks and with delegations.

Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: turn enqueueing a svc_xprt into a svc_serv operation</title>
<updated>2015-08-10T20:05:42Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2015-06-08T19:06:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9e13cdfac70e38ade17b53810a36968c5842339'/>
<id>urn:sha1:b9e13cdfac70e38ade17b53810a36968c5842339</id>
<content type='text'>
For now, all services use svc_xprt_do_enqueue, but once we add
workqueue-based service support, we'll need to do something different.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: add a new svc_serv_ops struct and move sv_shutdown into it</title>
<updated>2015-08-10T20:05:40Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2015-06-08T19:03:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea126e74353453d15fc0a181910ae1e25162f2a1'/>
<id>urn:sha1:ea126e74353453d15fc0a181910ae1e25162f2a1</id>
<content type='text'>
In later patches we'll need to abstract out more operations on a
per-service level, besides sv_shutdown and sv_function.

Declare a new svc_serv_ops struct to hold these operations, and move
sv_shutdown into this struct.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>LOCKD: Fix a race when initialising nlmsvc_timeout</title>
<updated>2015-01-06T03:40:53Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-01-02T20:05:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06bed7d18c2c07b3e3eeadf4bd357f6e806618cc'/>
<id>urn:sha1:06bed7d18c2c07b3e3eeadf4bd357f6e806618cc</id>
<content type='text'>
This commit fixes a race whereby nlmclnt_init() first starts the lockd
daemon, and then calls nlm_bind_host() with the expectation that
nlmsvc_timeout has already been initialised. Unfortunately, there is no
no synchronisation between lockd() and lockd_up() to guarantee that this
is the case.

Fix is to move the initialisation of nlmsvc_timeout into lockd_create_svc

Fixes: 9a1b6bf818e74 ("LOCKD: Don't call utsname()-&gt;nodename...")
Cc: Bruce Fields &lt;bfields@fieldses.org&gt;
Cc: stable@vger.kernel.org # 3.10.x
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
