<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/sunrpc/svc.c, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-12-07T21:04:59Z</updated>
<entry>
<title>SUNRPC: Fix callback channel</title>
<updated>2015-12-07T21:04:59Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-12-07T20:52:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=756b9b37cfb2e3dc76b2e43a8c097402ac736e07'/>
<id>urn:sha1:756b9b37cfb2e3dc76b2e43a8c097402ac736e07</id>
<content type='text'>
The NFSv4.1 callback channel is currently broken because the receive
message will keep shrinking because the backchannel receive buffer size
never gets reset.
The easiest solution to this problem is instead of changing the receive
buffer, to rather adjust the copied request.

Fixes: 38b7631fbe42 ("nfs4: limit callback decoding to received bytes")
Cc: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs4: limit callback decoding to received bytes</title>
<updated>2015-11-24T03:03:15Z</updated>
<author>
<name>Benjamin Coddington</name>
</author>
<published>2015-11-20T14:55:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=38b7631fbe42e6e247e9fc9879f961b14a687e3b'/>
<id>urn:sha1:38b7631fbe42e6e247e9fc9879f961b14a687e3b</id>
<content type='text'>
A truncated cb_compound request will cause the client to decode null or
data from a previous callback for nfs4.1 backchannel case, or uninitialized
data for the nfs4.0 case. This is because the path through
svc_process_common() advances the request's iov_base and decrements iov_len
without adjusting the overall xdr_buf's len field.  That causes
xdr_init_decode() to set up the xdr_stream with an incorrect length in
nfs4_callback_compound().

Fixing this for the nfs4.1 backchannel case first requires setting the
correct iov_len and page_len based on the length of received data in the
same manner as the nfs4.0 case.

Then the request's xdr_buf length can be adjusted for both cases based upon
the remaining iov_len and page_len.

Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Remove the TCP-only restriction in bc_svc_process()</title>
<updated>2015-11-02T18:45:15Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2015-10-24T21:28:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f2e3bdab6590a5d8900e7d701e21ac9af19924c'/>
<id>urn:sha1:0f2e3bdab6590a5d8900e7d701e21ac9af19924c</id>
<content type='text'>
Allow the use of other transport classes when handling a backward
direction RPC call.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagig@mellanox.com&gt;
Tested-By: Devesh Sharma &lt;devesh.sharma@avagotech.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting</title>
<updated>2015-08-10T20:05:44Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2015-06-08T19:11:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b6dc1dffbb142de60eb65f6155276ac31ff5474'/>
<id>urn:sha1:1b6dc1dffbb142de60eb65f6155276ac31ff5474</id>
<content type='text'>
In later patches, we'll want to be able to allocate and free svc_rqst
structures without monkeying with the serv-&gt;sv_nrthreads refcount.

Factor those pieces out of their respective functions.

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: move pool_mode definitions into svc.h</title>
<updated>2015-08-10T20:05:43Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2015-06-08T19:09:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d70bc0c67c7aaf0d00084b2f91b44fe1a8ae4e15'/>
<id>urn:sha1:d70bc0c67c7aaf0d00084b2f91b44fe1a8ae4e15</id>
<content type='text'>
In later patches, we're going to need to allow code external to svc.c
to figure out what pool_mode is in use. Move these definitions into
svc.h to prepare for that.

Also, make the svc_pool_map object available and exported so that other
modules can peek in there to get insight into what pool mode is in use.
Likewise, export svc_pool_map_get/put function to make it safe to do so.

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: move sv_module parm into sv_ops</title>
<updated>2015-08-10T20:05:41Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2015-06-08T19:05:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=758f62fff9ad630f05866a1dd6ae9453a7730c2e'/>
<id>urn:sha1:758f62fff9ad630f05866a1dd6ae9453a7730c2e</id>
<content type='text'>
...not technically an operation, but it's more convenient and cleaner
to pass the module pointer in 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>nfsd/sunrpc: move sv_function into sv_ops</title>
<updated>2015-08-10T20:05:41Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2015-06-08T19:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c369014f1776367269c8fbb5ea8932826d89ce2f'/>
<id>urn:sha1:c369014f1776367269c8fbb5ea8932826d89ce2f</id>
<content type='text'>
Since we now have a container for holding svc_serv operations, move the
sv_function into it as well.

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>Merge tag 'nfs-for-4.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2015-07-02T18:32:23Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-07-02T18:32:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8688d9540cc6e17df4cba71615e27f04e0378fe6'/>
<id>urn:sha1:8688d9540cc6e17df4cba71615e27f04e0378fe6</id>
<content type='text'>
Pull NFS client updates from Trond Myklebust:
 "Highlights include:

  Stable patches:
   - Fix a crash in the NFSv4 file locking code.
   - Fix an fsync() regression, where we were failing to retry I/O in
     some circumstances.
   - Fix an infinite loop in NFSv4.0 OPEN stateid recovery
   - Fix a memory leak when an attempted pnfs fails.
   - Fix a memory leak in the backchannel code
   - Large hostnames were not supported correctly in NFSv4.1
   - Fix a pNFS/flexfiles bug that was impeding error reporting on I/O.
   - Fix a couple of credential issues in pNFS/flexfiles

  Bugfixes + cleanups:
   - Open flag sanity checks in the NFSv4 atomic open codepath
   - More NFSv4 delegation related bugfixes
   - Various NFSv4.1 backchannel bugfixes and cleanups
   - Fix the NFS swap socket code
   - Various cleanups of the NFSv4 SETCLIENTID and EXCHANGE_ID code
   - Fix a UDP transport deadlock issue

  Features:
   - More RDMA client transport improvements
   - NFSv4.2 LAYOUTSTATS functionality for pnfs flexfiles"

* tag 'nfs-for-4.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (87 commits)
  nfs: Remove invalid tk_pid from debug message
  nfs: Remove invalid NFS_ATTR_FATTR_V4_REFERRAL checking in nfs4_get_rootfh
  nfs: Drop bad comment in nfs41_walk_client_list()
  nfs: Remove unneeded micro checking of CONFIG_PROC_FS
  nfs: Don't setting FILE_CREATED flags always
  nfs: Use remove_proc_subtree() instead remove_proc_entry()
  nfs: Remove unused argument in nfs_server_set_fsinfo()
  nfs: Fix a memory leak when meeting an unsupported state protect
  nfs: take extra reference to fl-&gt;fl_file when running a LOCKU operation
  NFSv4: When returning a delegation, don't reclaim an incompatible open mode.
  NFSv4.2: LAYOUTSTATS is optional to implement
  NFSv4.2: Fix up a decoding error in layoutstats
  pNFS/flexfiles: Fix the reset of struct pgio_header when resending
  pNFS/flexfiles: Turn off layoutcommit for servers that don't need it
  pnfs/flexfiles: protect ktime manipulation with mirror lock
  nfs: provide pnfs_report_layoutstat when NFS42 is disabled
  nfs: verify open flags before allowing open
  nfs: always update creds in mirror, even when we have an already connected ds
  nfs: fix potential credential leak in ff_layout_update_mirror_cred
  pnfs/flexfiles: report layoutstat regularly
  ...
</content>
</entry>
<entry>
<title>SUNRPC: Fix a backchannel race</title>
<updated>2015-06-05T15:15:43Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-06-04T19:37:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d2a970d0ae55086520e1e58e572a7acd519429c'/>
<id>urn:sha1:0d2a970d0ae55086520e1e58e572a7acd519429c</id>
<content type='text'>
We need to allow the server to send a new request immediately after we've
replied to the previous one. Right now, there is a window between the
send and the release of the old request in rpc_put_task(), where the
server could send us a new backchannel RPC call, and we have no
request to service it.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
