<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/callback.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-17T17:06:41Z</updated>
<entry>
<title>NFS: Enable NFSv4 callback server to listen on AF_INET6 sockets</title>
<updated>2008-10-17T17:06:41Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2008-10-16T21:41:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18de9735300756e3ca9c361ef58409d8561dfe0d'/>
<id>urn:sha1:18de9735300756e3ca9c361ef58409d8561dfe0d</id>
<content type='text'>
Allow the NFS callback server to listen for requests via an AF_INET6 or
AF_INET socket when IPv6 support is present in the kernel.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Add address family field to svc_serv data structure</title>
<updated>2008-09-29T21:56:56Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2008-06-30T22:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e851db5b05408b89b9a9429a66814b79fabee2a1'/>
<id>urn:sha1:e851db5b05408b89b9a9429a66814b79fabee2a1</id>
<content type='text'>
Introduce and initialize an address family field in the svc_serv structure.

This field will determine what family to use for the service's listener
sockets and what families are advertised via the local rpcbind daemon.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>nfs4: fix potential race with rapid nfs_callback_up/down cycle</title>
<updated>2008-07-09T16:09:32Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2008-06-11T14:03:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5afc597c5f0bd184457e49b9a330fcb37b69db11'/>
<id>urn:sha1:5afc597c5f0bd184457e49b9a330fcb37b69db11</id>
<content type='text'>
If the nfsv4 callback thread is rapidly brought up and down, it's
possible that nfs_callback_svc might never get a chance to run. If
this happens, the cleanup at thread exit might never occur, throwing
the refcounting off and nfs_callback_info in an incorrect state.

Move the clean functions into nfs_callback_down. Also change the
nfs_callback_info struct to track the svc_rqst rather than svc_serv
since we need to know that to call svc_exit_thread.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>nfs4: remove BKL from nfs_callback_up and nfs_callback_down</title>
<updated>2008-07-09T16:09:31Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2008-06-11T14:03:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee84dfc45467fd8e5ce04fa2813d98e0aebe465c'/>
<id>urn:sha1:ee84dfc45467fd8e5ce04fa2813d98e0aebe465c</id>
<content type='text'>
The nfs_callback_mutex is sufficient protection.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>nfs: replace remaining __FUNCTION__ occurrences</title>
<updated>2008-05-16T16:43:29Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2008-05-02T20:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3110ff8048fb757b36112b044b384aea9c44d6e4'/>
<id>urn:sha1:3110ff8048fb757b36112b044b384aea9c44d6e4</id>
<content type='text'>
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Cc: "J. Bruce Fields" &lt;bfields@fieldses.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: don't let nfs_callback_svc exit on unexpected svc_recv errors (try #2)</title>
<updated>2008-04-23T20:13:42Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2008-04-08T19:40:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06e02d66fa0055230efc2443c43ee4f3ab5eb0b6'/>
<id>urn:sha1:06e02d66fa0055230efc2443c43ee4f3ab5eb0b6</id>
<content type='text'>
When svc_recv returns an unexpected error, nfs_callback_svc will print a
warning and exit. This problematic for several reasons. In particular,
it will cause the reference counts for the thread to be wrong, and no
new thread will be started until all nfs4 mounts are unmounted.

Rather than exiting on error from svc_recv, have the thread do a 1s
sleep and then retry the loop. This is unlikely to cause any harm, and
if the error turns out to be something temporary then it may be able to
recover.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>nfsd: fix comment</title>
<updated>2008-04-23T20:13:42Z</updated>
<author>
<name>J. Bruce Fields</name>
</author>
<published>2008-04-07T17:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1ba1ab76e68de9f4a93fae8406627924efaed99'/>
<id>urn:sha1:e1ba1ab76e68de9f4a93fae8406627924efaed99</id>
<content type='text'>
Obvious comment nit.

Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>NFS: convert nfs4 callback thread to kthread API</title>
<updated>2008-04-23T20:13:40Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2008-02-20T13:55:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a277e33cbe3fdfb9a77b448ea3043be22f000dfd'/>
<id>urn:sha1:a277e33cbe3fdfb9a77b448ea3043be22f000dfd</id>
<content type='text'>
There's a general push to convert kernel threads to use the (much
cleaner) kthread API. This patch converts the NFSv4 callback kernel
thread to the kthread API. In addition to being generally cleaner this
also removes the dependency on signals when shutting down the thread.

Note that this patch depends on the recent patches to svc_recv() to
make it check kthread_should_stop() periodically. Those patches are
in Bruce's tree at the moment and are slated for 2.6.26 along with
the lockd conversion, so this conversion is probably also appropriate
for 2.6.26.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Acked-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>Wrap buffers used for rpc debug printks into RPC_IFDEBUG</title>
<updated>2008-02-21T23:42:29Z</updated>
<author>
<name>Pavel Emelyanov</name>
</author>
<published>2008-02-21T07:57:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5216a8e70e25b01cbd2915cd0442fb96deb2c262'/>
<id>urn:sha1:5216a8e70e25b01cbd2915cd0442fb96deb2c262</id>
<content type='text'>
Sorry for the noise, but here's the v3 of this compilation fix :)

There are some places, which declare the char buf[...] on the stack
to push it later into dprintk(). Since the dprintk sometimes (if the
CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers
cause gcc to produce appropriate warnings.

Wrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to
compile them out when not needed.

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Acked-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: flush signals before taking down callback thread</title>
<updated>2008-02-20T18:32:43Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2008-02-19T17:51:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1227a74e2e0217a4ca155d1677bdbf5f69e32bed'/>
<id>urn:sha1:1227a74e2e0217a4ca155d1677bdbf5f69e32bed</id>
<content type='text'>
Now that the reference counting on the callback thread is working as
expected, it uncovers another problem.  Peter Staubach noticed while
testing that patch on an older kernel that he would occasionally see
this printk in rpc_register fire:

    "RPC: failed to contact portmap (errno -512).

The NFSv4 callback thread is signaled by nfs_callback_down(), but never
flushes that signal. All of the shutdown processing is done with that
signal pending. This makes it fail the call to unregister the port with
the portmapper.

In actuality, this rpc_register call isn't necessary at all since the
port isn't actually registered with the portmapper anymore. Regardless,
there doesn't seem to be any reason to leave the signal pending while
the thread is being shut down and flushing it should generally silence
that printk.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
