2014-07-01 13:20:20

by Joe Perches

[permalink] [raw]
Subject: [RFC PATCH] dlm: Remove unused conf from lm_grant

While doing a bit of adding argument names to fs.h,
I looked at lm_grant and it seems the 2nd argument
is always NULL.

How about removing it?

This doesn't apply as it depends on some other patches
but it should be clear enough...

---
fs/dlm/plock.c | 8 ++++----
fs/lockd/svclock.c | 12 +++---------
include/linux/fs.h | 2 +-
3 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c
index e59d332..e0ab3a9 100644
--- a/fs/dlm/plock.c
+++ b/fs/dlm/plock.c
@@ -30,7 +30,7 @@ struct plock_op {

struct plock_xop {
struct plock_op xop;
- int (*callback)(struct file_lock *, struct file_lock *, int);
+ int (*callback)(struct file_lock *fl, int result);
void *fl;
void *file;
struct file_lock flc;
@@ -190,7 +190,7 @@ static int dlm_plock_callback(struct plock_op *op)
struct file *file;
struct file_lock *fl;
struct file_lock *flc;
- int (*notify)(struct file_lock *fl, struct file_lock *cont, int result) = NULL;
+ int (*notify)(struct file_lock *fl, int result) = NULL;
struct plock_xop *xop = (struct plock_xop *)op;
int rv = 0;

@@ -209,7 +209,7 @@ static int dlm_plock_callback(struct plock_op *op)
notify = xop->callback;

if (op->info.rv) {
- notify(fl, NULL, op->info.rv);
+ notify(fl, op->info.rv);
goto out;
}

@@ -228,7 +228,7 @@ static int dlm_plock_callback(struct plock_op *op)
(unsigned long long)op->info.number, file, fl);
}

- rv = notify(fl, NULL, 0);
+ rv = notify(fl, 0);
if (rv) {
/* XXX: We need to cancel the fs lock here: */
log_print("dlm_plock_callback: lock granted after lock request "
diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c
index ab798a8..2a61701 100644
--- a/fs/lockd/svclock.c
+++ b/fs/lockd/svclock.c
@@ -667,22 +667,16 @@ nlmsvc_cancel_blocked(struct net *net, struct nlm_file *file, struct nlm_lock *l
* deferred rpc for GETLK and SETLK.
*/
static void
-nlmsvc_update_deferred_block(struct nlm_block *block, struct file_lock *conf,
- int result)
+nlmsvc_update_deferred_block(struct nlm_block *block, int result)
{
block->b_flags |= B_GOT_CALLBACK;
if (result == 0)
block->b_granted = 1;
else
block->b_flags |= B_TIMED_OUT;
- if (conf) {
- if (block->b_fl)
- __locks_copy_lock(block->b_fl, conf);
- }
}

-static int nlmsvc_grant_deferred(struct file_lock *fl, struct file_lock *conf,
- int result)
+static int nlmsvc_grant_deferred(struct file_lock *fl, int result)
{
struct nlm_block *block;
int rc = -ENOENT;
@@ -697,7 +691,7 @@ static int nlmsvc_grant_deferred(struct file_lock *fl, struct file_lock *conf,
rc = -ENOLCK;
break;
}
- nlmsvc_update_deferred_block(block, conf, result);
+ nlmsvc_update_deferred_block(block, result);
} else if (result == 0)
block->b_granted = 1;

diff --git a/include/linux/fs.h b/include/linux/fs.h
index 36b8648..6150125 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -842,7 +842,7 @@ struct lock_manager_operations {
int (*lm_compare_owner)(struct file_lock *fl1, struct file_lock *fl2);
unsigned long (*lm_owner_key)(struct file_lock *fl);
void (*lm_notify)(struct file_lock *fl); /* unblock callback */
- int (*lm_grant)(struct file_lock *fl, struct file_lock *conf, int result);
+ int (*lm_grant)(struct file_lock *fl, int result);
void (*lm_break)(struct file_lock *fl);
int (*lm_change)(struct file_lock **fl, int type);
};
--
1.8.1.2.459.gbcd45b4.dirty



2014-07-01 14:43:20

by Jeff Layton

[permalink] [raw]
Subject: Re: [RFC PATCH] dlm: Remove unused conf from lm_grant

On Tue, 01 Jul 2014 06:20:10 -0700
Joe Perches <[email protected]> wrote:

> While doing a bit of adding argument names to fs.h,
> I looked at lm_grant and it seems the 2nd argument
> is always NULL.
>
> How about removing it?
>
> This doesn't apply as it depends on some other patches
> but it should be clear enough...
>

ACK on the general idea from my standpoint. Anything that simplifies
the file locking interfaces is a good thing, particularly the deferred
locking code.

> ---
> fs/dlm/plock.c | 8 ++++----
> fs/lockd/svclock.c | 12 +++---------
> include/linux/fs.h | 2 +-
> 3 files changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c
> index e59d332..e0ab3a9 100644
> --- a/fs/dlm/plock.c
> +++ b/fs/dlm/plock.c
> @@ -30,7 +30,7 @@ struct plock_op {
>
> struct plock_xop {
> struct plock_op xop;
> - int (*callback)(struct file_lock *, struct file_lock *, int);
> + int (*callback)(struct file_lock *fl, int result);
> void *fl;
> void *file;
> struct file_lock flc;
> @@ -190,7 +190,7 @@ static int dlm_plock_callback(struct plock_op *op)
> struct file *file;
> struct file_lock *fl;
> struct file_lock *flc;
> - int (*notify)(struct file_lock *fl, struct file_lock *cont, int result) = NULL;
> + int (*notify)(struct file_lock *fl, int result) = NULL;
> struct plock_xop *xop = (struct plock_xop *)op;
> int rv = 0;
>
> @@ -209,7 +209,7 @@ static int dlm_plock_callback(struct plock_op *op)
> notify = xop->callback;
>
> if (op->info.rv) {
> - notify(fl, NULL, op->info.rv);
> + notify(fl, op->info.rv);
> goto out;
> }
>
> @@ -228,7 +228,7 @@ static int dlm_plock_callback(struct plock_op *op)
> (unsigned long long)op->info.number, file, fl);
> }
>
> - rv = notify(fl, NULL, 0);
> + rv = notify(fl, 0);
> if (rv) {
> /* XXX: We need to cancel the fs lock here: */
> log_print("dlm_plock_callback: lock granted after lock request "
> diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c
> index ab798a8..2a61701 100644
> --- a/fs/lockd/svclock.c
> +++ b/fs/lockd/svclock.c
> @@ -667,22 +667,16 @@ nlmsvc_cancel_blocked(struct net *net, struct nlm_file *file, struct nlm_lock *l
> * deferred rpc for GETLK and SETLK.
> */
> static void
> -nlmsvc_update_deferred_block(struct nlm_block *block, struct file_lock *conf,
> - int result)
> +nlmsvc_update_deferred_block(struct nlm_block *block, int result)
> {
> block->b_flags |= B_GOT_CALLBACK;
> if (result == 0)
> block->b_granted = 1;
> else
> block->b_flags |= B_TIMED_OUT;
> - if (conf) {
> - if (block->b_fl)
> - __locks_copy_lock(block->b_fl, conf);
> - }
> }
>
> -static int nlmsvc_grant_deferred(struct file_lock *fl, struct file_lock *conf,
> - int result)
> +static int nlmsvc_grant_deferred(struct file_lock *fl, int result)
> {
> struct nlm_block *block;
> int rc = -ENOENT;
> @@ -697,7 +691,7 @@ static int nlmsvc_grant_deferred(struct file_lock *fl, struct file_lock *conf,
> rc = -ENOLCK;
> break;
> }
> - nlmsvc_update_deferred_block(block, conf, result);
> + nlmsvc_update_deferred_block(block, result);
> } else if (result == 0)
> block->b_granted = 1;
>
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 36b8648..6150125 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -842,7 +842,7 @@ struct lock_manager_operations {
> int (*lm_compare_owner)(struct file_lock *fl1, struct file_lock *fl2);
> unsigned long (*lm_owner_key)(struct file_lock *fl);
> void (*lm_notify)(struct file_lock *fl); /* unblock callback */
> - int (*lm_grant)(struct file_lock *fl, struct file_lock *conf, int result);
> + int (*lm_grant)(struct file_lock *fl, int result);
> void (*lm_break)(struct file_lock *fl);
> int (*lm_change)(struct file_lock **fl, int type);
> };


--
Jeff Layton <[email protected]>

2014-07-01 16:47:25

by David Teigland

[permalink] [raw]
Subject: Re: [RFC PATCH] dlm: Remove unused conf from lm_grant

On Tue, Jul 01, 2014 at 10:43:13AM -0400, Jeff Layton wrote:
> On Tue, 01 Jul 2014 06:20:10 -0700
> Joe Perches <[email protected]> wrote:
>
> > While doing a bit of adding argument names to fs.h,
> > I looked at lm_grant and it seems the 2nd argument
> > is always NULL.
> >
> > How about removing it?
> >
> > This doesn't apply as it depends on some other patches
> > but it should be clear enough...
> >
>
> ACK on the general idea from my standpoint. Anything that simplifies
> the file locking interfaces is a good thing, particularly the deferred
> locking code.

Fine with me. I'd be happy to remove all the deferred locking code from
dlm; it never really worked.

Dave

2014-07-01 17:16:46

by Bob Peterson

[permalink] [raw]
Subject: Re: [Cluster-devel] [RFC PATCH] dlm: Remove unused conf from lm_grant

----- Original Message -----
> On Tue, Jul 01, 2014 at 10:43:13AM -0400, Jeff Layton wrote:
> > On Tue, 01 Jul 2014 06:20:10 -0700
> > Joe Perches <[email protected]> wrote:
> >
> > > While doing a bit of adding argument names to fs.h,
> > > I looked at lm_grant and it seems the 2nd argument
> > > is always NULL.
> > >
> > > How about removing it?
> > >
> > > This doesn't apply as it depends on some other patches
> > > but it should be clear enough...
> > >
> >
> > ACK on the general idea from my standpoint. Anything that simplifies
> > the file locking interfaces is a good thing, particularly the deferred
> > locking code.
>
> Fine with me. I'd be happy to remove all the deferred locking code from
> dlm; it never really worked.
>
> Dave

Hi,

GFS2 uses deferred locks, at the very least in its direct_io path
(gfs2_direct_IO in aops.c). So AFAIK we can't remove THAT without a certain
amount of pain. Steve is on vacation / holiday this week, but he will
be back on Thursday and Friday (which is a holiday).

I'm all for getting rid of useless parameters, and I've done so on
several occasions in GFS2.

Regards,

Bob Peterson
Red Hat File Systems

2014-07-01 17:22:34

by David Teigland

[permalink] [raw]
Subject: Re: [Cluster-devel] [RFC PATCH] dlm: Remove unused conf from lm_grant

On Tue, Jul 01, 2014 at 01:16:32PM -0400, Bob Peterson wrote:
> ----- Original Message -----
> > On Tue, Jul 01, 2014 at 10:43:13AM -0400, Jeff Layton wrote:
> > > On Tue, 01 Jul 2014 06:20:10 -0700
> > > Joe Perches <[email protected]> wrote:
> > >
> > > > While doing a bit of adding argument names to fs.h,
> > > > I looked at lm_grant and it seems the 2nd argument
> > > > is always NULL.
> > > >
> > > > How about removing it?
> > > >
> > > > This doesn't apply as it depends on some other patches
> > > > but it should be clear enough...
> > > >
> > >
> > > ACK on the general idea from my standpoint. Anything that simplifies
> > > the file locking interfaces is a good thing, particularly the deferred
> > > locking code.
> >
> > Fine with me. I'd be happy to remove all the deferred locking code from
> > dlm; it never really worked.

> GFS2 uses deferred locks, at the very least in its direct_io path
> (gfs2_direct_IO in aops.c). So AFAIK we can't remove THAT without a certain
> amount of pain. Steve is on vacation / holiday this week, but he will
> be back on Thursday and Friday (which is a holiday).

This is about deferred file locks from NFS, not gfs2's "deferred" lock mode.
Dave