<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/callback_xdr.c, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-06-28T20:29:51Z</updated>
<entry>
<title>Merge branch 'labeled-nfs' into linux-next</title>
<updated>2013-06-28T20:29:51Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2013-06-28T20:29:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=959d921f5eb8878ea16049a7f6e9bcbb6dfbcb88'/>
<id>urn:sha1:959d921f5eb8878ea16049a7f6e9bcbb6dfbcb88</id>
<content type='text'>
* labeled-nfs:
  NFS: Apply v4.1 capabilities to v4.2
  NFS: Add in v4.2 callback operation
  NFS: Make callbacks minor version generic
  Kconfig: Add Kconfig entry for Labeled NFS V4 client
  NFS: Extend NFS xattr handlers to accept the security namespace
  NFS: Client implementation of Labeled-NFS
  NFS: Add label lifecycle management
  NFS:Add labels to client function prototypes
  NFSv4: Extend fattr bitmaps to support all 3 words
  NFSv4: Introduce new label structure
  NFSv4: Add label recommended attribute and NFSv4 flags
  NFSv4.2: Added NFS v4.2 support to the NFS client
  SELinux: Add new labeling type native labels
  LSM: Add flags field to security_sb_set_mnt_opts for in kernel mount data.
  Security: Add Hook to test if the particular xattr is part of a MAC model.
  Security: Add hook to calculate context based on a negative dentry.
  NFS: Add NFSv4.2 protocol constants

Conflicts:
	fs/nfs/nfs4proc.c
</content>
</entry>
<entry>
<title>NFS: Add in v4.2 callback operation</title>
<updated>2013-06-08T20:20:18Z</updated>
<author>
<name>Bryan Schumaker</name>
</author>
<published>2013-06-05T15:15:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b140b85d92bd65db44f0a7a065b2e39a91e9a9d'/>
<id>urn:sha1:6b140b85d92bd65db44f0a7a065b2e39a91e9a9d</id>
<content type='text'>
NFS v4.2 adds a CB_OFFLOAD operation used by COPY and WRITE_PLUS.  Since
neither of these operations have been implemented yet, simply return
NFS4ERR_NOTSUPP.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Make callbacks minor version generic</title>
<updated>2013-06-08T20:20:18Z</updated>
<author>
<name>Bryan Schumaker</name>
</author>
<published>2013-06-05T15:15:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=459de2edb9105a5d091f8215650e12c0812d59f3'/>
<id>urn:sha1:459de2edb9105a5d091f8215650e12c0812d59f3</id>
<content type='text'>
I found a few places that hardcode the minor version number rather than
making it dependent on the protocol the callback came in over.  This
patch makes it easier to add new minor versions in the future.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.2: Added NFS v4.2 support to the NFS client</title>
<updated>2013-06-08T20:20:13Z</updated>
<author>
<name>Steve Dickson</name>
</author>
<published>2013-05-22T16:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=42c2c4249cd0192e29eec71e3e94d7bbc383c8de'/>
<id>urn:sha1:42c2c4249cd0192e29eec71e3e94d7bbc383c8de</id>
<content type='text'>
This enable NFSv4.2 support. To enable this code the
CONFIG_NFS_V4_2 Kconfig define needs to be set and
the -o v4.2 mount option need to be used.

Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1 Fix a pNFS session draining deadlock</title>
<updated>2013-05-20T18:20:14Z</updated>
<author>
<name>Andy Adamson</name>
</author>
<published>2013-05-20T18:13:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=774d5f14ee1ecac55f42a84ff35eb00b896b00b6'/>
<id>urn:sha1:774d5f14ee1ecac55f42a84ff35eb00b896b00b6</id>
<content type='text'>
On a CB_RECALL the callback service thread flushes the inode using
filemap_flush prior to scheduling the state manager thread to return the
delegation. When pNFS is used and I/O has not yet gone to the data server
servicing the inode, a LAYOUTGET can preceed the I/O. Unlike the async
filemap_flush call, the LAYOUTGET must proceed to completion.

If the state manager starts to recover data while the inode flush is sending
the LAYOUTGET, a deadlock occurs as the callback service thread holds the
single callback session slot until the flushing is done which blocks the state
manager thread, and the state manager thread has set the session draining bit
which puts the inode flush LAYOUTGET RPC to sleep on the forechannel slot
table waitq.

Separate the draining of the back channel from the draining of the fore channel
by moving the NFS4_SESSION_DRAINING bit from session scope into the fore
and back slot tables.  Drain the back channel first allowing the LAYOUTGET
call to proceed (and fail) so the callback service thread frees the callback
slot. Then proceed with draining the forechannel.

Signed-off-by: Andy Adamson &lt;andros@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Move slot table and session struct definitions to nfs4session.h</title>
<updated>2012-12-05T23:30:46Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-11-26T19:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76e697ba7e8d187f50e385d21a2b2f1709a62c14'/>
<id>urn:sha1:76e697ba7e8d187f50e385d21a2b2f1709a62c14</id>
<content type='text'>
Clean up. Gather NFSv4.1 slot definitions in fs/nfs/nfs4session.h.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Clean up session draining</title>
<updated>2012-12-05T23:30:44Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-11-23T18:09:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5d63360dd8daffc2bc86531e9a44ff9d4881b102'/>
<id>urn:sha1:5d63360dd8daffc2bc86531e9a44ff9d4881b102</id>
<content type='text'>
Coalesce nfs4_check_drain_bc_complete and nfs4_check_drain_fc_complete
into a single function that can be called when the slot table is known
to be empty, then change nfs4_callback_free_slot() and nfs4_free_slot()
to use it.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Don't confuse target_highest_slotid and max_slots in cb_recall_slot</title>
<updated>2012-12-05T23:30:41Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-11-21T01:24:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5fb4ce33e26e4c1c31c1609b8ffbb24f80bcab8'/>
<id>urn:sha1:d5fb4ce33e26e4c1c31c1609b8ffbb24f80bcab8</id>
<content type='text'>
Don't confuse the table size and the target_highest_slotid...

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: service request network namespace helper introduced</title>
<updated>2012-07-27T20:49:21Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2012-07-25T12:57:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9695c7057f4887ed54dc1e6c2ef22f72a2be1175'/>
<id>urn:sha1:9695c7057f4887ed54dc1e6c2ef22f72a2be1175</id>
<content type='text'>
This is a cleanup patch - makes code looks simplier.
It replaces widely used rqstp-&gt;rq_xprt-&gt;xpt_net by introduced SVC_NET(rqstp).

Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>NFS: add an endian notation for sparse</title>
<updated>2012-06-12T13:54:40Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2012-06-12T07:37:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e216c8c771c9a77f14d7e8b4131846b038f6c145'/>
<id>urn:sha1:e216c8c771c9a77f14d7e8b4131846b038f6c145</id>
<content type='text'>
This is supposed to be a __be32 value.  Sparse complains a lot:

fs/nfs/callback_xdr.c:699:30: warning: incorrect type in initializer (different base types)
fs/nfs/callback_xdr.c:699:30:    expected unsigned int [unsigned] status
fs/nfs/callback_xdr.c:699:30:    got restricted __be32 const [usertype] csr_status
fs/nfs/callback_xdr.c:715:9: warning: cast to restricted __be32
fs/nfs/callback_xdr.c:716:16: warning: incorrect type in return expression (different base types)
fs/nfs/callback_xdr.c:716:16:    expected restricted __be32
fs/nfs/callback_xdr.c:716:16:    got unsigned int [unsigned] status

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
