On Sun, 20 Jul 2014 11:23:43 -0700
Joe Perches <j...@perches.com> wrote:

> op->info.rv is an s32, but it's only used as a u8.
> 

I don't understand this patch. info.rv is s32 (and I assume that "rv"
stands for "return value"). What I don't get is why you think it's just
used as a u8. It seems to be used more like a bool than anything else,
and I'm not sure that "type" is really a good description for it. Maybe
it should be a "bool" and named "conflict", given the comments in
dlm_posix_get ?

> Signed-off-by: Joe Perches <j...@perches.com>
> ---
>  fs/dlm/plock.c     |  6 +++---
>  fs/lockd/svclock.c | 10 +++++-----
>  include/linux/fs.h |  2 +-
>  3 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c
> index 3e0b6fc..267849d 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 *fl, int result);
> +     int (*callback)(struct file_lock *fl, unsigned char type);
>       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, int result) = NULL;
> +     int (*notify)(struct file_lock *fl, unsigned char type) = 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, op->info.rv);
> +             notify(fl, (unsigned char)op->info.rv);
>               goto out;
>       }
>  
> diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c
> index 2a61701..15532b9 100644
> --- a/fs/lockd/svclock.c
> +++ b/fs/lockd/svclock.c
> @@ -667,16 +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, int result)
> +nlmsvc_update_deferred_block(struct nlm_block *block, unsigned char type)
>  {
>       block->b_flags |= B_GOT_CALLBACK;
> -     if (result == 0)
> +     if (type == 0)
>               block->b_granted = 1;
>       else
>               block->b_flags |= B_TIMED_OUT;
>  }
>  
> -static int nlmsvc_grant_deferred(struct file_lock *fl, int result)
> +static int nlmsvc_grant_deferred(struct file_lock *fl, unsigned char type)
>  {
>       struct nlm_block *block;
>       int rc = -ENOENT;
> @@ -691,8 +691,8 @@ static int nlmsvc_grant_deferred(struct file_lock *fl, 
> int result)
>                                       rc = -ENOLCK;
>                                       break;
>                               }
> -                             nlmsvc_update_deferred_block(block, result);
> -                     } else if (result == 0)
> +                             nlmsvc_update_deferred_block(block, type);
> +                     } else if (type == 0)
>                               block->b_granted = 1;
>  
>                       nlmsvc_insert_block_locked(block, 0);
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index d083a67..7fbce66 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, int result);
> +     int (*lm_grant)(struct file_lock *fl, unsigned char type);
>       void (*lm_break)(struct file_lock *fl);
>       int (*lm_change)(struct file_lock **fl, int type);
>  };


-- 
Jeff Layton <jlay...@poochiereds.net>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to