> On Apr 9, 2021, at 10:26 AM, Tom Talpey wrote:
>
> On 4/6/2021 7:49 AM, Jason Gunthorpe wrote:
>> On Mon, Apr 05, 2021 at 11:42:31PM +0000, Chuck Lever III wrote:
>>
>>> We need to get a better idea what correctness testing has been done,
>>> a
ap_update(struct cache_detail *cd, struct ip_map *ipm,
> struct unix_domain *udom, time64_t expiry)
> {
> --
> 1.8.3.1
>
--
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
> On Mar 23, 2021, at 3:56 PM, Mel Gorman wrote:
>
> On Tue, Mar 23, 2021 at 11:10:05AM -0400, Chuck Lever wrote:
>> Reduce the rate at which nfsd threads hammer on the page allocator.
>> This improves throughput scalability by enabling the threads to run
>> more
@@ int __alloc_pages_bulk(gfp_t gfp, int preferred_nid,
>
> local_irq_restore(flags);
>
> - /* Prep pages with IRQs enabled. */
> - if (page_list) {
> - list_for_each_entry(page, page_list, lru)
> - prep_new_page(page, 0, gfp, 0);
> - } else {
> - while (prep_index < nr_populated)
> - prep_new_page(page_array[prep_index++], 0, gfp, 0);
> -
> - /*
> - * If the array is sparse, check whether the array is
> - * now fully populated. Continue allocations if
> - * necessary.
> - */
> - while (nr_populated < nr_pages && page_array[nr_populated])
> - nr_populated++;
> - if (hole && nr_populated < nr_pages)
> - goto retry_hole;
> - }
> -
> return nr_populated;
>
> failed_irq:
>
> --
> Mel Gorman
> SUSE Labs
--
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
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
> On Mar 22, 2021, at 3:49 PM, Mel Gorman wrote:
>
> On Mon, Mar 22, 2021 at 06:25:03PM +0000, Chuck Lever III wrote:
>>
>>
>>> On Mar 22, 2021, at 5:18 AM, Mel Gorman wrote:
>>>
>>> This series is based on top of Matthew Wilcox's se
rformance gains/losses in the changelogs.
>
> Patch 1 renames a variable name that is particularly unpopular
>
> Patch 2 adds a bulk page allocator
>
> Patch 3 adds an array-based version of the bulk allocator
>
> include/linux/gfp.h | 18 +
> mm/page_alloc.c | 171 ++--
> 2 files changed, 185 insertions(+), 4 deletions(-)
>
> --
> 2.26.2
>
--
Chuck Lever
> On Mar 19, 2021, at 6:08 PM, J. Bruce Fields wrote:
>
> On Fri, Mar 19, 2021 at 02:58:14PM +0000, Chuck Lever III wrote:
>> Hi Chris-
>>
>>> On Mar 19, 2021, at 10:54 AM, Chris Down wrote:
>>>
>>> The reclen is taken directly from the firs
, it
> seems reasonable to put this here since this particular code path is the
> one that has repeatedly come up in production.
>
> Signed-off-by: Chris Down
> Cc: Chuck Lever
> Cc: J. Bruce Fields
> Cc: Trond Myklebust
> Cc: David S. Miller
> ---
> net/sunrpc/svc
> On Mar 14, 2021, at 8:52 AM, Mel Gorman wrote:
>
> On Sat, Mar 13, 2021 at 07:33:43PM +, Matthew Wilcox wrote:
>> On Sat, Mar 13, 2021 at 04:56:31PM +0000, Chuck Lever III wrote:
>>> IME lists are indeed less CPU-efficient, but I wonder if that
>>> exp
We have, for instance, release_pages(), which is
an array-centric page allocator API. Maybe a helper function or two
might prevent duplication of the list conversion logic.
And I agree with Mel that passing a single large array seems more
useful then having to build code at each consumer call-site to
iterate over smaller page_vecs until that array is filled.
--
Chuck Lever
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
an
> wrote:
>>
>> From: Chuck Lever
>>
>> 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
> On Mar 11, 2021, at 6:49 AM, Mel Gorman wrote:
>
> From: Chuck Lever
>
> Reduce the rate at which nfsd threads hammer on the page allocator.
> This improve throughput scalability by enabling the threads to run
> more independently of each other.
Mel, if you shou
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
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
> 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-
> 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
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
> 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
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 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
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 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:
>>
> 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 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 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
>>
/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
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
> 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
//
> @@
> 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
> 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
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
> 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!
>>>>
>>>
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
> 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
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 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
&
> 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
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 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
"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
> 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
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
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,
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
; 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(+
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
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
t; + goto out_overflow;
> size = xdr_stream_remaining(&rep->rr_stream);
>
> #ifdef RPCRDMA_BACKCHANNEL_DEBUG
> --
> 2.17.2 (Apple Git-113)
>
--
Chuck Lever
> 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
>&
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
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
, 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
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
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
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
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
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
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(
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
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
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/
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]>
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
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
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 &
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
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 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 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 --
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/
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/
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
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
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
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
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
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
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(
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
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
1 - 100 of 111 matches
Mail list logo