From: Trond Myklebust <Trond.Myklebust@netapp.com> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Sam Ravnborg <sam@ravnborg.org>, Steven Whitehouse <swhiteho@redhat.com>, Stephen Rothwell <sfr@canb.auug.org.au>, Vu Pham <vu@mellanox.com>, Tom Talpey <tmtalpey@gmail.com> Subject: [GIT PULL] Please pull NFS client bugfixes Date: Tue, 26 May 2009 15:06:27 -0400 [thread overview] Message-ID: <1243364787.30354.8.camel@heimdal.trondhjem.org> (raw) Hi Linus, Please pull from the "bugfixes" branch of the repository at git pull git://git.linux-nfs.org/projects/trondmy/nfs-2.6.git bugfixes This will update the following files through the appended changesets. Cheers, Trond ---- fs/nfs/nfs4proc.c | 9 +++------ fs/nfs/nfsroot.c | 2 +- net/sunrpc/xprtrdma/verbs.c | 3 ++- 3 files changed, 6 insertions(+), 8 deletions(-) commit 95baa25c7321eb8613246acbf61b97911cc748d3 Author: Trond Myklebust <Trond.Myklebust@netapp.com> Date: Tue May 26 14:51:00 2009 -0400 NFSv4: Fix the case where NFSv4 renewal fails If the asynchronous lease renewal fails (usually due to a soft timeout), then we _must_ schedule state recovery in order to ensure that we don't lose the lease unnecessarily or, if the lease is already lost, that we recover the locking state promptly... Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> commit d0367a508af9cf97beb202935bb9ad8883d30cd1 Author: Sam Ravnborg <sam@ravnborg.org> Date: Tue May 26 14:51:00 2009 -0400 nfs: fix build error in nfsroot with initconst fix build error with latest kbuild adjustments to initconst. The commit a447c0932445f92ce6f4c1bd020f62c5097a7842 ("vfs: Use const for kernel parser table") changed: static match_table_t __initdata tokens = { to static match_table_t __initconst tokens = { But the missing const causes powerpc to fail with latest updates to __initconst like this: fs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict fs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict The bug is only present with kbuild-next. Following patch has been build tested. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Steven Whitehouse <swhiteho@redhat.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> commit 68743082b560067e3e93eab8b2568f238e486865 Author: Vu Pham <vu@mellanox.com> Date: Tue May 26 14:51:00 2009 -0400 XPRTRDMA: fix client rpcrdma FRMR registration on mlx4 devices mlx4/connectX FRMR requires local write enable together with remote rdma write enable. This fixes NFS/RDMA operation over the ConnectX Infiniband HCA in the default memreg mode. Signed-off-by: Vu Pham <vu@mellanox.com> Signed-off-by: Tom Talpey <tmtalpey@gmail.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index a4d2426..4674f80 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2594,12 +2594,9 @@ static void nfs4_renew_done(struct rpc_task *task, void *data) unsigned long timestamp = (unsigned long)data; if (task->tk_status < 0) { - switch (task->tk_status) { - case -NFS4ERR_STALE_CLIENTID: - case -NFS4ERR_EXPIRED: - case -NFS4ERR_CB_PATH_DOWN: - nfs4_schedule_state_recovery(clp); - } + /* Unless we're shutting down, schedule state recovery! */ + if (test_bit(NFS_CS_RENEWD, &clp->cl_res_state) != 0) + nfs4_schedule_state_recovery(clp); return; } spin_lock(&clp->cl_lock); diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c index d9ef602..e3ed590 100644 --- a/fs/nfs/nfsroot.c +++ b/fs/nfs/nfsroot.c @@ -129,7 +129,7 @@ enum { Opt_err }; -static match_table_t __initconst tokens = { +static const match_table_t tokens __initconst = { {Opt_port, "port=%u"}, {Opt_rsize, "rsize=%u"}, {Opt_wsize, "wsize=%u"}, diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index 3b21e0c..465aafc 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c @@ -1495,7 +1495,8 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg, frmr_wr.wr.fast_reg.page_shift = PAGE_SHIFT; frmr_wr.wr.fast_reg.length = i << PAGE_SHIFT; frmr_wr.wr.fast_reg.access_flags = (writing ? - IB_ACCESS_REMOTE_WRITE : IB_ACCESS_REMOTE_READ); + IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE : + IB_ACCESS_REMOTE_READ); frmr_wr.wr.fast_reg.rkey = seg1->mr_chunk.rl_mw->r.frmr.fr_mr->rkey; DECR_CQCOUNT(&r_xprt->rx_ep); -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@netapp.com www.netapp.com
WARNING: multiple messages have this Message-ID (diff)
From: Trond Myklebust <Trond.Myklebust@netapp.com> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>, Steven Whitehouse <swhiteho@redhat.com>, Stephen Rothwell <sfr@canb.auug.org.au>, Vu Pham <vu@mellanox.com>, Tom Talpey <tmtalpey@gmail.com> Subject: [GIT PULL] Please pull NFS client bugfixes Date: Tue, 26 May 2009 15:06:27 -0400 [thread overview] Message-ID: <1243364787.30354.8.camel@heimdal.trondhjem.org> (raw) Hi Linus, Please pull from the "bugfixes" branch of the repository at git pull git://git.linux-nfs.org/projects/trondmy/nfs-2.6.git bugfixes This will update the following files through the appended changesets. Cheers, Trond ---- fs/nfs/nfs4proc.c | 9 +++------ fs/nfs/nfsroot.c | 2 +- net/sunrpc/xprtrdma/verbs.c | 3 ++- 3 files changed, 6 insertions(+), 8 deletions(-) commit 95baa25c7321eb8613246acbf61b97911cc748d3 Author: Trond Myklebust <Trond.Myklebust@netapp.com> Date: Tue May 26 14:51:00 2009 -0400 NFSv4: Fix the case where NFSv4 renewal fails If the asynchronous lease renewal fails (usually due to a soft timeout), then we _must_ schedule state recovery in order to ensure that we don't lose the lease unnecessarily or, if the lease is already lost, that we recover the locking state promptly... Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> commit d0367a508af9cf97beb202935bb9ad8883d30cd1 Author: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Date: Tue May 26 14:51:00 2009 -0400 nfs: fix build error in nfsroot with initconst fix build error with latest kbuild adjustments to initconst. The commit a447c0932445f92ce6f4c1bd020f62c5097a7842 ("vfs: Use const for kernel parser table") changed: static match_table_t __initdata tokens = { to static match_table_t __initconst tokens = { But the missing const causes powerpc to fail with latest updates to __initconst like this: fs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict fs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict The bug is only present with kbuild-next. Following patch has been build tested. Signed-off-by: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Cc: Steven Whitehouse <swhiteho@redhat.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> commit 68743082b560067e3e93eab8b2568f238e486865 Author: Vu Pham <vu@mellanox.com> Date: Tue May 26 14:51:00 2009 -0400 XPRTRDMA: fix client rpcrdma FRMR registration on mlx4 devices mlx4/connectX FRMR requires local write enable together with remote rdma write enable. This fixes NFS/RDMA operation over the ConnectX Infiniband HCA in the default memreg mode. Signed-off-by: Vu Pham <vu@mellanox.com> Signed-off-by: Tom Talpey <tmtalpey@gmail.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index a4d2426..4674f80 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2594,12 +2594,9 @@ static void nfs4_renew_done(struct rpc_task *task, void *data) unsigned long timestamp = (unsigned long)data; if (task->tk_status < 0) { - switch (task->tk_status) { - case -NFS4ERR_STALE_CLIENTID: - case -NFS4ERR_EXPIRED: - case -NFS4ERR_CB_PATH_DOWN: - nfs4_schedule_state_recovery(clp); - } + /* Unless we're shutting down, schedule state recovery! */ + if (test_bit(NFS_CS_RENEWD, &clp->cl_res_state) != 0) + nfs4_schedule_state_recovery(clp); return; } spin_lock(&clp->cl_lock); diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c index d9ef602..e3ed590 100644 --- a/fs/nfs/nfsroot.c +++ b/fs/nfs/nfsroot.c @@ -129,7 +129,7 @@ enum { Opt_err }; -static match_table_t __initconst tokens = { +static const match_table_t tokens __initconst = { {Opt_port, "port=%u"}, {Opt_rsize, "rsize=%u"}, {Opt_wsize, "wsize=%u"}, diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index 3b21e0c..465aafc 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c @@ -1495,7 +1495,8 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg, frmr_wr.wr.fast_reg.page_shift = PAGE_SHIFT; frmr_wr.wr.fast_reg.length = i << PAGE_SHIFT; frmr_wr.wr.fast_reg.access_flags = (writing ? - IB_ACCESS_REMOTE_WRITE : IB_ACCESS_REMOTE_READ); + IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE : + IB_ACCESS_REMOTE_READ); frmr_wr.wr.fast_reg.rkey = seg1->mr_chunk.rl_mw->r.frmr.fr_mr->rkey; DECR_CQCOUNT(&r_xprt->rx_ep); -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@netapp.com www.netapp.com
next reply other threads:[~2009-05-26 19:08 UTC|newest] Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-05-26 19:06 Trond Myklebust [this message] 2009-05-26 19:06 ` [GIT PULL] Please pull NFS client bugfixes Trond Myklebust 2010-01-07 20:29 Trond Myklebust 2010-01-07 21:00 ` Andi Kleen 2010-01-07 21:23 ` Peter Staubach 2010-01-07 21:35 ` Andi Kleen 2010-01-07 21:53 ` Trond Myklebust 2010-01-07 23:51 ` Andi Kleen 2010-01-08 0:14 ` Trond Myklebust 2010-01-08 0:34 ` Linus Torvalds 2010-01-08 0:45 ` Andi Kleen 2010-01-08 1:03 ` Trond Myklebust 2010-01-08 1:03 ` Trond Myklebust 2010-01-08 1:12 ` Linus Torvalds 2010-01-08 1:22 ` Trond Myklebust 2010-01-08 1:26 ` Trond Myklebust 2010-01-08 1:30 ` Linus Torvalds 2010-01-08 1:35 ` Linus Torvalds 2010-01-08 2:00 ` Linus Torvalds 2010-01-14 13:18 ` Peter Zijlstra 2010-01-08 5:19 ` Andi Kleen 2010-01-08 1:22 ` Linus Torvalds 2010-01-08 0:43 ` Andi Kleen 2010-02-04 19:10 Trond Myklebust 2010-03-17 21:55 Trond Myklebust 2010-03-23 17:00 Trond Myklebust 2010-04-29 16:48 Trond Myklebust 2010-05-07 2:22 Trond Myklebust 2010-05-26 19:42 Trond Myklebust 2010-11-26 18:56 Trond Myklebust 2011-03-14 18:09 Trond Myklebust 2011-04-08 18:40 [GIT PULL] please " Trond Myklebust 2011-05-13 20:23 [GIT PULL] Please " Trond Myklebust 2011-07-12 23:30 Trond Myklebust 2011-08-19 1:05 Trond Myklebust 2011-11-22 11:50 Trond Myklebust 2011-12-20 6:15 Trond Myklebust 2012-04-24 20:18 [GIT PULL] please " Myklebust, Trond 2012-04-24 20:18 ` Myklebust, Trond 2012-05-02 3:57 [GIT PULL] Please " Myklebust, Trond 2012-05-02 3:57 ` Myklebust, Trond 2012-07-13 15:14 Myklebust, Trond 2012-07-13 15:14 ` Myklebust, Trond 2012-09-12 19:19 Myklebust, Trond 2012-09-12 19:19 ` Myklebust, Trond 2012-10-22 17:42 Myklebust, Trond 2012-10-22 17:42 ` Myklebust, Trond 2012-11-03 19:48 Myklebust, Trond 2012-11-03 19:48 ` Myklebust, Trond 2013-01-07 15:45 Myklebust, Trond 2013-02-21 3:38 Myklebust, Trond 2013-03-03 0:08 Myklebust, Trond 2013-03-26 18:26 Myklebust, Trond 2013-05-26 19:29 Myklebust, Trond 2013-09-30 22:02 Myklebust, Trond 2013-09-30 22:02 ` Myklebust, Trond 2013-11-16 21:09 Myklebust, Trond 2013-12-05 17:20 Trond Myklebust 2014-01-31 21:41 Trond Myklebust 2014-09-19 19:32 Trond Myklebust 2014-11-14 23:04 Trond Myklebust 2015-01-16 14:35 Trond Myklebust 2015-01-29 21:37 Trond Myklebust 2015-03-06 3:46 Trond Myklebust 2015-07-28 16:03 Trond Myklebust 2015-09-25 15:14 Trond Myklebust 2015-10-07 2:52 Trond Myklebust 2016-10-21 20:30 Anna Schumaker 2017-01-16 20:14 Trond Myklebust 2017-01-16 20:14 ` Trond Myklebust 2017-01-28 17:04 Trond Myklebust 2017-01-28 17:04 ` Trond Myklebust 2018-02-25 17:02 Trond Myklebust 2018-02-25 17:02 ` Trond Myklebust 2018-03-12 17:29 Trond Myklebust 2018-03-12 17:29 ` Trond Myklebust 2018-12-19 16:49 Trond Myklebust 2018-12-20 2:50 ` pr-tracker-bot 2018-12-20 15:23 ` Geert Uytterhoeven 2019-04-13 14:56 Trond Myklebust 2019-04-13 22:00 ` pr-tracker-bot 2019-06-05 21:02 Schumaker, Anna 2019-08-08 21:26 Trond Myklebust 2019-08-09 1:30 ` pr-tracker-bot 2019-08-27 19:26 Trond Myklebust 2019-08-27 20:55 ` pr-tracker-bot 2020-05-02 13:35 Trond Myklebust 2020-05-02 18:45 ` pr-tracker-bot 2020-05-15 21:00 Trond Myklebust 2020-05-15 21:10 ` pr-tracker-bot 2020-09-28 17:27 Trond Myklebust 2020-09-28 18:16 ` pr-tracker-bot 2021-01-12 14:31 Trond Myklebust 2021-01-12 18:00 ` pr-tracker-bot 2022-09-12 21:34 Trond Myklebust 2022-09-12 21:57 ` pr-tracker-bot 2023-01-07 18:09 Trond Myklebust 2023-01-07 18:43 ` pr-tracker-bot
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1243364787.30354.8.camel@heimdal.trondhjem.org \ --to=trond.myklebust@netapp.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nfs@vger.kernel.org \ --cc=sam@ravnborg.org \ --cc=sfr@canb.auug.org.au \ --cc=swhiteho@redhat.com \ --cc=tmtalpey@gmail.com \ --cc=torvalds@linux-foundation.org \ --cc=vu@mellanox.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.