that did that, and I don't remember the history. I thought it was
> required by some spec or peer implementation (maybe Windows?) but I
> really don't remember. It may predate git. I'll dig around and see
> what I can find.
I can't add more here, this design comes from well before I started
working on this body of code (though, I worked near Kevin when he
implemented it).
--
Chuck Lever
use xprt_sock_sendmsg for socket
sends")
Signed-off-by: Chuck Lever
---
net/sunrpc/socklib.c |5 -
net/sunrpc/svcsock.c |1 +
2 files changed, 5 insertions(+), 1 deletion(-)
Hi-
Because I got a 0-day regression report this morning based on the
original version of this patch, I
/bugzilla.kernel.org/show_bug.cgi?id=209439
Fixes: da1661b93bf4 ("SUNRPC: Teach server to use xprt_sock_sendmsg for socket
sends")
Signed-off-by: Chuck Lever
---
net/sunrpc/socklib.c |5 -
net/sunrpc/svcsock.c |1 +
net/sunrpc/xprtsock.c |1 +
3 files changed, 6 insertions
> On Nov 9, 2020, at 12:08 PM, Trond Myklebust wrote:
>
> On Mon, 2020-11-09 at 11:03 -0500, Chuck Lever wrote:
>> Daire Byrne reports a ~50% aggregrate throughput regression on his
>> Linux NFS server after commit da1661b93bf4 ("SUNRPC: Teach server to
>>
> On Nov 9, 2020, at 12:32 PM, Trond Myklebust wrote:
>
> On Mon, 2020-11-09 at 12:12 -0500, Chuck Lever wrote:
>>
>>
>>> On Nov 9, 2020, at 12:08 PM, Trond Myklebust
>>> wrote:
>>>
>>> On Mon, 2020-11-09 at 11:03 -0500, Chuc
> On Nov 9, 2020, at 1:16 PM, Trond Myklebust wrote:
>
> On Mon, 2020-11-09 at 12:36 -0500, Chuck Lever wrote:
>>
>>
>>> On Nov 9, 2020, at 12:32 PM, Trond Myklebust <
>>> tron...@hammerspace.com> wrote:
>>>
>>> On Mon, 2020-11
> On Nov 9, 2020, at 3:10 PM, Eric Dumazet wrote:
>
>
>
> On 11/9/20 8:31 PM, Chuck Lever wrote:
>>
>>
>>> On Nov 9, 2020, at 1:16 PM, Trond Myklebust wrote:
>>>
>>> On Mon, 2020-11-09 at 12:36 -0500, Chuck Lever wrote:
>>
> On Nov 9, 2020, at 3:10 PM, Eric Dumazet wrote:
>
>
>
> On 11/9/20 8:31 PM, Chuck Lever wrote:
>>
>>
>>> On Nov 9, 2020, at 1:16 PM, Trond Myklebust wrote:
>>>
>>> On Mon, 2020-11-09 at 12:36 -0500, Chuck Lever wrote:
>>
d.c
> create mode 100644 crypto/krb5/rfc3962_aes.c
> create mode 100644 crypto/krb5/rfc6803_camellia.c
> create mode 100644 crypto/krb5/rfc8009_aes2.c
> create mode 100644 crypto/krb5/selftest.c
> create mode 100644 crypto/krb5/selftest_data.c
> create mode 100644 net/rxrpc/rxgk.c
> create mode 100644 net/rxrpc/rxgk_app.c
> create mode 100644 net/rxrpc/rxgk_common.h
> create mode 100644 net/rxrpc/rxgk_kdf.c
>
>
--
Chuck Lever
> On Nov 12, 2020, at 10:42 AM, David Howells wrote:
>
> Chuck Lever wrote:
>
>>> There are three main interfaces to it:
>>>
>>> (*) I/O crypto: encrypt, decrypt, get_mic and verify_mic.
>>>
>>>These all do in-place crypto, usi
pc/rxgk.c | 1232 ++
>> net/rxrpc/rxgk_app.c | 424 ++++++
>> net/rxrpc/rxgk_common.h | 164
>> net/rxrpc/rxgk_kdf.c | 271 +++
>> net/rxrpc/security.c |6 +
>> 26 files changed, 5530 insertions(+), 1 deletion(-)
>> create mode 100644 crypto/krb5/kdf.c
>> create mode 100644 crypto/krb5/rfc3961_simplified.c
>> create mode 100644 crypto/krb5/rfc3962_aes.c
>> create mode 100644 crypto/krb5/rfc6803_camellia.c
>> create mode 100644 crypto/krb5/rfc8009_aes2.c
>> create mode 100644 crypto/krb5/selftest.c
>> create mode 100644 crypto/krb5/selftest_data.c
>> create mode 100644 net/rxrpc/rxgk.c
>> create mode 100644 net/rxrpc/rxgk_app.c
>> create mode 100644 net/rxrpc/rxgk_common.h
>> create mode 100644 net/rxrpc/rxgk_kdf.c
--
Chuck Lever
> On Nov 12, 2020, at 4:07 PM, Bruce Fields wrote:
>
> On Thu, Nov 12, 2020 at 04:54:06PM +, David Howells wrote:
>> Chuck Lever wrote:
>>
>>> Really? My understanding of the Linux kernel SUNRPC implementation is
>>> that it uses asynchronous, eve
6efa8cbfb, the original
issue won't appear with Linux clients, because they use TCP to handle
the ACCEPT_SEC_CONTEXT handshake. You'd need to have both Solaris and
RDMA to test it. Maybe we can scrounge something up, but that would only
be enough to ensure that your patch doesn't regress the Solaris NFS/RDMA
with Kerberos setup when using small tokens.
--
Chuck Lever
gets delegated to
> the normal allocator. The same criteria should apply to any other users.
>
> include/linux/gfp.h | 13 +
> mm/page_alloc.c | 113 +-
> net/sunrpc/svc_xprt.c | 47 ++++--
> 3 files changed, 157 insertions(+), 16 deletions(-)
Hi Mel-
Thank you for carrying the torch!
--
Chuck Lever
ller.appspot.com/x/repro.c?x=12e9e0dad0
>
> The issue was bisected to:
>
> commit c8e88e3aa73889421461f878cd569ef84f231ceb
> Author: Chuck Lever
> Date: Tue Nov 3 20:06:04 2020 +
>
>NFSD: Replace READ* macros in nfsd4_decode_layoutget()
>
> bisect
Reduce the rate at which nfsd threads hammer on the page allocator.
This improves throughput scalability by enabling the threads to run
more independently of each other.
Signed-off-by: Chuck Lever
---
Hi Mel-
This patch replaces patch 5/7 in v4 of your alloc_pages_bulk()
series. It implements
> On Feb 8, 2021, at 2:34 PM, Trond Myklebust wrote:
>
> On Tue, 2021-01-19 at 20:25 -0500, Sasha Levin wrote:
>> From: Chuck Lever
>>
>> [ Upstream commit 4a85a6a3320b4a622315d2e0ea91a1d2b013bce4 ]
>>
>> Daire Byrne reports a ~50% aggregrate th
> On Feb 8, 2021, at 3:12 PM, Trond Myklebust wrote:
>
> On Mon, 2021-02-08 at 19:48 +0000, Chuck Lever wrote:
>>
>>
>>> On Feb 8, 2021, at 2:34 PM, Trond Myklebust <
>>> tron...@hammerspace.com> wrote:
>>>
>>> On Tue, 2021-
t superior to the list-based API.
---
Chuck Lever (2):
SUNRPC: Set rq_page_end differently
SUNRPC: Refresh rq_pages using a bulk page allocator
net/sunrpc/svc_xprt.c | 33 +
1 file changed, 17 insertions(+), 16 deletions(-)
--
Chuck Lever
sd_splice_actor()
by commit cf8208d0eabd ("sendfile: convert nfsd to
splice_direct_to_actor()").
Signed-off-by: Chuck Lever
---
net/sunrpc/svc_xprt.c |7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 3cdd71a8
Reduce the rate at which nfsd threads hammer on the page allocator.
This improves throughput scalability by enabling the threads to run
more independently of each other.
Signed-off-by: Chuck Lever
---
net/sunrpc/svc_xprt.c | 33 +
1 file changed, 17 insertions
00644
> --- a/net/sunrpc/auth_gss/trace.c
> +++ b/net/sunrpc/auth_gss/trace.c
> @@ -9,7 +9,6 @@
> #include
> #include
> #include
> -#include
>
> #define CREATE_TRACE_POINTS
> #include
> --
> 2.17.1
>
--
Chuck Lever
please reply to this email with:
> #syz fix: exact-commit-title
> To mark this as a duplicate of another syzbot report, please reply with:
> #syz dup: exact-subject-of-another-report
> If it's a one-off invalid bug report, please reply with:
> #syz invalid
> Note: if the crash happens again, it will cause creation of a new bug report.
> Note: all commands must start from beginning of the line in the email body.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Chuck Lever
he transport write lock. This logic was copied from
xdr_partial_copy_from_skb, which uses GFP_ATOMIC.
Recall that this is here because of GETACL. As I've stated in
the past, the correct solution is to ensure that these pages
are provided in every case by the upper layer, making this
alloc_page call site unnecessary.
--
Chuck Lever
chuckle...@gmail.com
> On Jul 18, 2020, at 11:55 AM, Chuck Lever wrote:
>
>
>
>> On Jul 17, 2020, at 3:46 PM, Pierre Sauter wrote:
>>
>> Am Freitag, 17. Juli 2020, 19:56:09 CEST schrieb Kai-Heng Feng:
>>>> Pierre, thanks for confirming!
>>>>
>>>
"SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove
xdr_buf_trim()")")
is also applied to 5.4.0-40-generic.
It would help to know if v5.5 stable is working for you. I haven't had any
problems with it.
--
Chuck Lever
> On Jul 15, 2020, at 11:08 AM, Kai-Heng Feng
> wrote:
>
>> On Jul 15, 2020, at 23:02, Chuck Lever wrote:
>>
>>> On Jul 15, 2020, at 10:48 AM, Kai-Heng Feng
>>> wrote:
>>>
>>> Hi,
>>>
>>> Multiple users rep
header_size.
>
> The commit in question is relatively old:
>
> commit 302d3deb20682a076e1ab551821cacfdc81c5e4f
> Author: Chuck Lever
> Date: Mon May 2 14:41:05 2016 -0400
>
>xprtrdma: Prevent inline overflow
>
> The two issues are as follows:
>
> Issue #1:
> On Jul 15, 2020, at 12:31 PM, Colin Ian King wrote:
>
> Bah, $SUBJECT typo "calcations" -> "calculations". can that be fixed up
> when it's applied, or shall I send a V2?
Anna's preference.
Reviewed-by: Chuck Lever
> On 15/07/2020
> On Jul 15, 2020, at 11:14 AM, Chuck Lever wrote:
>
>
>
>> On Jul 15, 2020, at 11:08 AM, Kai-Heng Feng
>> wrote:
>>
>>> On Jul 15, 2020, at 23:02, Chuck Lever wrote:
>>>
>>>> On Jul 15, 2020, at 10:48 AM, Kai-Heng Feng
&
Hi Pierre-
> On Jul 16, 2020, at 2:40 PM, Pierre Sauter wrote:
>
> Hi,
>
> Am 2020-07-15 20:54, schrieb Chuck Lever:
>> v5.4.40 does not have 31c9590ae468 and friends, but the claim is this
>> one crashes?
>
> To my knowledge 31c9590ae468 and friends are in
> On Jul 17, 2020, at 1:29 PM, Pierre Sauter wrote:
>
> Hi Chuck,
>
> Am Donnerstag, 16. Juli 2020, 21:25:40 CEST schrieb Chuck Lever:
>> So this makes me think there's a possibility you are not using upstream
>> stable kernels. I can't help if I d
00 800f000f 0001
>
> [ 21.666152] page dumped because: kasan: bad access detected
>
> [ 21.666197] Memory state around the buggy address:
> [ 21.666228] 8883b6b7d380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00
> [ 21.666272] 8883b6b7d400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00
> [ 21.666315] >8883b6b7d480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> fc fc
> [ 21.666358]^
> [ 21.666379] 8883b6b7d500: fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> fc fc
> [ 21.666423] 8883b6b7d580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> fc fc
> [ 21.666465]
> ==
> [ 21.666509] Disabling lock debugging due to kernel taint
>
>
>
--
Chuck Lever
> 0)
> + if (len > (seek & PAGE_MASK))
I don't understand how this addresses the WARNING. Can you provide
an example set of inputs that trigger the issue?
Also this change introduces a mixed-sign comparison, so NACK on
this particular patch unless it can be demonstrated that the
implicit type conversion here is benign (I don't think it is,
but I haven't thought through it).
> svc_flush_bvec(bvec, len, seek);
>
> /* If we read a full record, then assume there may be more
> --
> 2.17.1
>
--
Chuck Lever
//
> @@
> expression x,n,flags;
> @@
>
> x =
> - kcalloc
> + kmalloc_array
> (n,sizeof(*x),flags)
> ...
> sg_init_table(x,n)
> //
>
> Signed-off-by: Julia Lawall
Acked-by: Chuck Lever
This one goes to Anna.
> ---
> net/sunrpc/xprtrdma/frwr_op
> On Sep 22, 2020, at 3:13 AM, He Zhe wrote:
>
>
>
> On 9/21/20 3:51 AM, Chuck Lever wrote:
>> On platforms that implement flush_dcache_page(), a large NFS WRITE
>> triggers the WARN_ONCE in bvec_iter_advance():
>>
>> Sep 20 14:01:05 klimt.1015grange
; instance = kmalloc(struct_size(instance, entry, count), GFP_KERNEL);
>
> This code was detected with the help of Coccinelle.
>
> Signed-off-by: Gustavo A. R. Silva
Reviewed-by: Chuck Lever
> ---
> net/sunrpc/xprtrdma/svc_rdma_rw.c | 3 +--
> 1 file changed, 1 insertion(+
ot;)
> Signed-off-by: Wei Yongjun
I thought we'd already fixed this one, but:
Reviewed-by: Chuck Lever
> ---
> net/sunrpc/xprtrdma/verbs.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/ver
elper:
>
> instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL);
>
> This code was detected with the help of Coccinelle.
>
> Signed-off-by: Gustavo A. R. Silva
Reviewed-by: Chuck Lever
> ---
> net/sunrpc/xprtrdma/verbs.c | 3 +--
> 1 file changed,
t; + goto out_overflow;
> size = xdr_stream_remaining(&rep->rr_stream);
>
> #ifdef RPCRDMA_BACKCHANNEL_DEBUG
> --
> 2.17.2 (Apple Git-113)
>
--
Chuck Lever
nt to
embed specific knowledge about struct xdr_stream into
rpcrdma_decode_msg. IOW, adhere to the API contract.
Given the need for adding a type cast to this function call, as
reported by the kbuild robot, I don't see that this patch improves
things significantly.
> r_xprt->rx_stats.total_rdma_reply += writelist;
> return rpclen + xdr_align_size(writelist);
> --
> 2.17.2 (Apple Git-113)
>
--
Chuck Lever
8,7 @@ void
> rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
> {
> struct rpcrdma_buffer *buf = &r_xprt->rx_buf;
> - struct ib_recv_wr *wr, *bad_wr;
> + struct ib_recv_wr *wr, *bad_wr = NULL;
> int needed, count, rc;
>
> rc = 0;
> --
> 2.7.0
Does this need
Fixes: d34ac5cd3a73 ("RDMA, core and ULPs: Declare ib_post_send() and
ib_post_recv() arguments const") ???
Bart, any comments?
--
Chuck Lever
svcsock.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
> index 5c4ec9386f81..d9e99cb09aab 100644
> --- a/net/sunrpc/svcsock.c
> +++ b/net/sunrpc/svcsock.c
> @@ -45,6 +45,7 @@
> #include
> #include
> #include
> +#include
Nit: Let's include in net/sunrpc/svcsock.h instead
of directly.
> #include
> #include
> --
> 2.25.0
>
--
Chuck Lever
> net/sunrpc/svcsock.c:227:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is
> not defined [-Wundef]
> #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
> ^
>
> Include linux/highmem.h so that asm/cacheflush.h will be included.
>
> Reported-by: Christophe Lero
> On Jul 25, 2018, at 9:27 AM, Krzysztof Kozlowski wrote:
>
> On 18 June 2018 at 18:20, Chuck Lever wrote:
>>
>> The extra serialization appears to have a reproducible performance
>> impact on RDMA, which no longer takes the reserve_lock when allocating
>&
, CID#1450120 ("Logically Dead Code")
>
> Fixes: 107c1d0a991a ("svcrdma: Avoid Send Queue overflow")
> Signed-off-by: Colin Ian King
Reviewed-by: Chuck Lever
Dan reported this today, and I have a similar patch in my
"pending for-rc" series. This one works too.
oftware.
>
> Link:
> http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdf
> Signed-off-by: Markus Elfring
Reviewed-by: Chuck Lever
> ---
> net/sunrpc/xprtrdma/backchannel.c | 6 ++
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
&g
Adrian Bunk wrote:
This patch makes the needlessly global struct rpcb_program static.
Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
Acked-by: Chuck Lever <[EMAIL PROTECTED]>
---
net/sunrpc/rpcb_clnt.c |4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- linux-2.
These 25 patches add support for AF_INET6 addresses to the NFS client.
This is a request for review of the proposed changes.
This series does not add support for AF_INET6 addresses to the Linux
NLM or NSM implementations, nor does it add support in the NFS server.
To use an IPv6 NFS server, the m
To ensure the NFS client displays IPv6 addresses properly, replace
address-specific NIPQUAD() invocations with a call to the RPC client to
get a formatted string representing the remote peer's address.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[E
The client side peer address is available in callback_proc.c, so move
a dprintk out of fs/nfs/callback.c and into fs/nfs/callback_proc.c.
This is more consistent with other debugging messages, and the proc
routines have more information about each request to display.
Signed-off-by: Chuck Lever
Ensure that the RPC buffer size specified for NFSv4 SETCLIENTID procedures
matches what we are encoding into the buffer. See the definition of
struct nfs4_setclientid {} and the encode_setclientid() function.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
fs/nfs/nfs4xdr.c
We recently added methods to RPC transports that provide string versions of
the remote peer address information. Convert the NFSv4 SETCLIENTID
procedure to use those methods instead of building the client ID out of
whole cloth.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien C
Prepare for managing larger addresses in the NFS client by widening the
nfs_client struct's cl_addr field and adding a field to store the address's
length.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/cli
Change the addr field in the cb_getattrargs struct to a "struct sockaddr *"
to support non-IPv4 addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/callback.h |2 +-
fs/nfs/callback_proc.c |2 +-
Change the addr field in the cb_recallargs struct to a "struct sockaddr *"
to support IPv6 addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/callback.h |2 +-
fs/nfs/callback_proc.c |2 +-
fs/nfs/
To support non-IPv4 addresses, adjust the arguments and callers of
nfs_alloc_client() to pass in a "struct sockaddr *" and length instead of
a "struct sockaddr_in *".
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/
Fix an outdated block comment, and address a comparison between a signed
and unsigned integer.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
fs/nfs/nfs4namespace.c |8 +++-
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/nfs/nfs4namespace.c b/
Adjust the arguments and callers of __nfs_find_client() to pass a "struct
sockaddr *" instead of a "struct sockaddr_in *" so that non-IPv4 addresses
can be passed into __nfs_find_client().
A subsequent patch adds support for IPv6 addresses to __nfs_find_client().
Signed
Add support for the AF_INET6 family of IP addresses in __nfs_find_client.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/client.c | 34 +++---
1 files changed, 27 insertions(+), 7 deletions(-)
diff --
Adjust arguments and callers of nfs_find_client() to pass a
"struct sockaddr *" instead of "struct sockaddr_in *" to support non-IPv4
addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/callback.c |
Adjust arguments and callers of nfs_get_client() to pass a
"struct sockaddr *" and length instead of "struct sockaddr_in *" to support
non-IPv4 addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/client.c
returns a string that represents an IPv4 address. This code
needs to support hostnames and IPv6 addresses as well as IPv4 addresses,
thus it will need to be restructured in order to handle DNS resolution in
user space.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon &
Adjust the arguments and callers of nfs4_set_client() to pass a "struct
sockaddr *" and a length instead of a "struct sockaddr_in *" to support
non-IPv4 addresses in the NFS client.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROT
The nfs_client's cl_ipaddr field needs to be larger to hold strings that
represent IPv6 addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
include/linux/nfs_fs_sb.h |2 +-
1 files changed, 1 insertions(+), 1 deletions
In the name of address family compatibility, we can't have the NIP_FMT and
NIPQUAD macros in nfs_try_mount(). Instead, we can make use of an unused
mount option to display the mount server's hostname.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon &
Universal addresses are defined in RFC 1833 and clarified in RFC 3530. We
need to use them in several places in the NFS and RPC clients, so move the
relevant definition and block comment to an appropriate global include
file.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
include
We'll need to set the port number of an AF_INET or AF_INET6 address in
several places in fs/nfs/super.c, so introduce a helper that can manage
this for us. We put this helper to immediate use.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
fs/nfs/sup
Move more address family dependencies to a helper function.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
fs/nfs/super.c | 40
1 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 7dc56ce..1
Some mount options pass in a string IP address. Let's parse these strings
in a separate function since this is done for at least two different mount
options.
This allows us to support IPv6 string addresses more easily in a subsequent
patch
Signed-off-by: Chuck Lever <[EMAIL PROTEC
Replace the nfs_server and mount_server address fields in the
nfs_parsed_mount_data structure with a "struct sockaddr_storage" and a
length, instead of a "struct sockaddr_in".
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
Update nfs_try_mount() to support AF_INET6 family addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
fs/nfs/super.c | 19 ++-
1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 3ea4a4f..2abef88 100644
--- a/
Add the ability to parse IPv6 addresses passed in via the 'addr=' and
'mountaddr=' mount options.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/super.c | 24 +++-
1 files changed, 19 ins
Add support to nfs_verify_server_address for recognizing AF_INET6 addresses.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: Aurelien Charbon <[EMAIL PROTECTED]>
---
fs/nfs/super.c | 15 ---
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/fs/nfs/supe
On Nov 13, 2007, at 8:14 PM, David Miller wrote:
From: Chuck Lever <[EMAIL PROTECTED]>
Date: Tue, 13 Nov 2007 13:30:59 -0500
These 25 patches add support for AF_INET6 addresses to the NFS
client.
This is a request for review of the proposed changes.
Please start using the [EMAIL PRO
YOSHIFUJI Hideaki / 吉藤英明 wrote:
In article <[EMAIL PROTECTED]> (at Tue, 13 Nov 2007 13:31:27 -0500), Chuck Lever
<[EMAIL PROTECTED]> says:
clp->rpc_ops->version,
- NIPQUAD(clp->cl_addr.sin_addr),
- ntohs(
Aurélien Charbon wrote:
Here is a small part of missing pieces of IPv6 support for the server.
It deals with the ip_map caching code part.
It changes the ip_map structure to be able to store INET6 addresses.
It adds also the changes in address hashing, and mapping to test it with
INET addresses
Aurélien Charbon wrote:
@@ -112,12 +112,16 @@
return (hash ^ (hash>>8)) & 0xff;
}
#endif
+static inline int hash_ip6(struct in6_addr ip)
+{
+return (hash_ip(ip.s6_addr32[0]) ^ hash_ip(ip.s6_addr32[1])
^ hash_ip(ip.s6_addr32[2]) ^ hash_ip(ip.s6_addr32[3])) ;
+}
How have you tes
Hello Francois-
I just bought a new Jetway mainboard with a pair of RTL 8169 NICs.
After installing Fedora 7, and upgrading to 2.6.22.1-41.fc7, I still
can't get either of the NICs to recognize a link beat from my switch.
lspci -v output:
00:09.0 Ethernet controller: Realtek Semiconductor Co
Francois Romieu wrote:
Chuck Lever <[EMAIL PROTECTED]> :
[...]
I just bought a new Jetway mainboard with a pair of RTL 8169 NICs.
Mini-ITX J7F4 ?
Yes. I wanted a low-power DSL router that will support IPv6 and have a
familiar GUI.
Have your tried 2.6.23-git-latest or at least
Francois Romieu wrote:
Chuck Lever <[EMAIL PROTECTED]> :
[...]
Not yet. I wanted to check with "the Maintainer" to see if it was worth
trying. :-) The last time I tried a kernel build on one of these
It is worth trying.
FYI: I tested a 2.6.23-rc2 kernel over the weeke
Andrew Morton wrote:
On Wed, 15 Aug 2007 12:22:51 -0700 (PDT)
[EMAIL PROTECTED] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=8891
Summary: in-kernel rpc generates broken RPCBPROC_GETVERSADDR v4
requests
Product: Networking
Version: 2.5
Francois Romieu wrote:
The latest serie of r8169 changes is available against 2.6.23-rc3 as:
http://www.fr.zoreil.com/people/francois/misc/20070818-2.6.23-rc3-r8169-test.patch
or (tarball sits one level higher):
http://www.fr.zoreil.com/linux/kernel/2.6.x/2.6.23-rc3/r8169-20070818/
or (rebas
Hi Aurélien-
Aurélien Charbon wrote:
According to Neil's comments, I have tried to correct the mistakes of my first
sending
Thank you for these comments Neil.
This is a small part of missing pieces of IPv6 support for the server.
It deals with the ip_map caching code part.
It changes the ip_m
Adrian Bunk wrote:
xs_setup_{udp,tcp}() can now become static.
ACK. Sorry this was overlooked.
Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
---
include/linux/sunrpc/xprtsock.h |6 --
net/sunrpc/xprtsock.c |4 ++--
2 files changed, 2 insertions(+), 8 deletions(-)
8
The (int) type cast in skb_truesize_check() is unneeded: without it, all
the variable types in the conditional expression are unsigned integers. As
it stands, the type cast causes a comparison between a signed and an
unsigned integer, which can produce unexpected results.
Signed-off-by: Chuck
the time_after_eq
macro from include/linux/jiffies.h.
[1] Kernighan & Ritchie, "The C Programming Language", 2nd. ed., appendix
A, sec. 6.5.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
Cc: netdev@vger.kernel.org
---
include/linux/tcp.h |4 ++--
1 files changed, 2 insertions(
David Miller wrote:
From: Chuck Lever <[EMAIL PROTECTED]>
Date: Fri, 02 Nov 2007 15:14:26 -0400
The (int) type cast in skb_truesize_check() is unneeded: without it, all
the variable types in the conditional expression are unsigned integers. As
it stands, the type cast causes a comp
David Miller wrote:
From: Chuck Lever <[EMAIL PROTECTED]>
Date: Mon, 05 Nov 2007 18:59:26 -0500
If that's truly the case, document the requirement (perhaps using
something the compiler itself can verify) instead of using a clever
type cast trick.
Feel free to submit such a chang
of an
explicit type cast. This defeats the check for negativity.
Ensure both sides of the comparison are a signed type to prevent the
implicit type conversion.
Signed-off-by: Chuck Lever <[EMAIL PROTECTED]>
---
include/linux/skbuff.h |4 +++-
1 files changed, 3 insertions(+), 1
m []
> (default_idle_call+0x28/0x38)
> [ 16.362961] [] (default_idle_call) from []
> (cpu_startup_entry+0x1c8/0x24c)
> [ 16.371585] [] (cpu_startup_entry) from []
> (secondary_start_kernel+0x130/0x154)
> [ 16.380635] r7:c0d6e388 r3:0002
> [ 16.384256] [] (secondary_start_kernel) from [<101016cc>]
> (0x101016cc)
> [ 16.391657] r5:0051 r4:3f08806a
> [ 16.395300] ---[ end Kernel panic - not syncing: VFS: Unable to
> mount root fs on unknown-block(2,0)
>
> Any ideas? Thanks
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Chuck Lever
> On Apr 7, 2016, at 7:38 AM, Christoph Hellwig wrote:
>
> This is also very interesting for storage targets, which face the same
> issue. SCST has a mode where it caches some fully constructed SGLs,
> which is probably very similar to what NICs want to do.
+1 for NFS server.
--
Chuck Lever
151 insertions(+), 82 deletions(-)
>
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Chuck Lever
lper.
RPC is dealing with universal addresses, which are not quite the
same as IP presentation addresses. The port number is expressed
as:
hi8.lo8
And universal IPv6 addresses don't have a mechanism for conveying
scope information.
--
Chuck Lever
return -EIO;
>
This hunk conflicts with a rewrite of svc_rdma_sendto.c that
Bruce has already accepted for v4.12. I would prefer this
be dropped.
The rewritten code also has this issue. I can submit a patch
separately that adds offset_in_page in the appropriate place.
--
Chuck Lever
hello all-
i'm helping implement support for IPv6 in the Linux RPC server. i have
a couple of naive questions about creating a listening socket on a
kernel that has IPv6 support.
normally you will specify a sockaddr_in with address INADDR_ANY when
setting up an IPv4 listener.
what address
David Stevens wrote:
The correct way is to use "in6addr_any" (or IN6ADDR_ANY_INIT to initialize
an existing one).
the kernel's in6.h has "ifdef'd out" these, it looks like.
begin:vcard
fn:Chuck Lever
n:Lever;Charles
org:Network Appliance, Incorporated;Open Source NFS Client Development
adr:535
e when they want to
> redrive the entire syscall from that level. That won't work for non-
> idempotent requests though. We'd need to do something more elaborate
> there.
There is a similar problem with NFS/RDMA.
An IB device driver can be unloaded at any time. The driver performs
an upcall to all consumers to request that they release all RDMA
resources associated with the device.
For RPC-over-RDMA, we could kill all running RPCs at this point. Or,
the RPCs could be suspended in place. The latter is desirable if the
device were re-inserted, or there were an alternate path to the NFS
server: then there would be no workload interruption.
Signals would have to be allowed so that ^C and soft timeouts still
work as expected.
--
Chuck Lever
correctness testing has been done,
and whether positive correctness testing results can be replicated
on a variety of platforms.
I have an old Haswell dual-socket system in my lab, but otherwise
I'm not sure I have a platform that would be interesting for such a
test.
> AMD dual socket systems are well known to benefit from relaxed
> ordering, people have been doing this in userspace for a while now
> with the opt in.
--
Chuck Lever
ap_update(struct cache_detail *cd, struct ip_map *ipm,
> struct unix_domain *udom, time64_t expiry)
> {
> --
> 1.8.3.1
>
--
Chuck Lever
1 - 100 of 111 matches
Mail list logo