2017-11-06 13:23:28

by Vasily Averin

[permalink] [raw]
Subject: [PATCH v3 02/21] lockd: added cleanup checks in exit_net hook

Signed-off-by: Vasily Averin <[email protected]>
---
fs/lockd/svc.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index 809cbcc..2a48558 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -690,6 +690,17 @@ static int lockd_init_net(struct net *net)

static void lockd_exit_net(struct net *net)
{
+ struct lockd_net *ln = net_generic(net, lockd_net_id);
+
+ WARN_ONCE(!list_empty(&ln->lockd_manager.list),
+ "net %x %s: lockd_manager.list is not empty\n",
+ net->ns.inum, __func__);
+ WARN_ONCE(!list_empty(&ln->nsm_handles),
+ "net %x %s: nsm_handles list is not empty\n",
+ net->ns.inum, __func__);
+ WARN_ONCE(delayed_work_pending(&ln->grace_period_end),
+ "net %x %s: grace_period_end was not cancelled\n",
+ net->ns.inum, __func__);
}

static struct pernet_operations lockd_net_ops = {
--
2.7.4



2017-11-09 15:06:24

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH v3 02/21] lockd: added cleanup checks in exit_net hook

Applied.--b.

On Mon, Nov 06, 2017 at 04:23:24PM +0300, Vasily Averin wrote:
> Signed-off-by: Vasily Averin <[email protected]>
> ---
> fs/lockd/svc.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
> index 809cbcc..2a48558 100644
> --- a/fs/lockd/svc.c
> +++ b/fs/lockd/svc.c
> @@ -690,6 +690,17 @@ static int lockd_init_net(struct net *net)
>
> static void lockd_exit_net(struct net *net)
> {
> + struct lockd_net *ln = net_generic(net, lockd_net_id);
> +
> + WARN_ONCE(!list_empty(&ln->lockd_manager.list),
> + "net %x %s: lockd_manager.list is not empty\n",
> + net->ns.inum, __func__);
> + WARN_ONCE(!list_empty(&ln->nsm_handles),
> + "net %x %s: nsm_handles list is not empty\n",
> + net->ns.inum, __func__);
> + WARN_ONCE(delayed_work_pending(&ln->grace_period_end),
> + "net %x %s: grace_period_end was not cancelled\n",
> + net->ns.inum, __func__);
> }
>
> static struct pernet_operations lockd_net_ops = {
> --
> 2.7.4