Hi,

Both patches are now in the -nmw tree. Thanks,

Steve.

On Thu, 2014-06-26 at 10:46 -0400, Bob Peterson wrote:
> Hi,
> 
> This patch allows flock glocks to use a non-blocking dequeue rather
> than dq_wait. It also reverts the previous patch I had posted regarding
> dq_wait. The reverted patch isn't necessarily a bad idea, but I decided
> this might avoid unforeseen side effects, and was therefore safer.
> 
> Regards,
> 
> Bob Peterson
> Red Hat File Systems
> 
> Signed-off-by: Bob Peterson <[email protected]> 
> ---
> diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
> index 0740a57..26b3f95 100644
> --- a/fs/gfs2/file.c
> +++ b/fs/gfs2/file.c
> @@ -991,7 +991,7 @@ static int do_flock(struct file *file, int cmd, struct 
> file_lock *fl)
>                       goto out;
>               flock_lock_file_wait(file,
>                                    &(struct file_lock){.fl_type = F_UNLCK});
> -             gfs2_glock_dq_wait(fl_gh);
> +             gfs2_glock_dq(fl_gh);
>               gfs2_holder_reinit(state, flags, fl_gh);
>       } else {
>               error = gfs2_glock_get(GFS2_SB(&ip->i_inode), ip->i_no_addr,
> diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
> index b703dcc..ee4e04f 100644
> --- a/fs/gfs2/glock.c
> +++ b/fs/gfs2/glock.c
> @@ -1128,9 +1128,7 @@ void gfs2_glock_dq_wait(struct gfs2_holder *gh)
>       struct gfs2_glock *gl = gh->gh_gl;
>       gfs2_glock_dq(gh);
>       might_sleep();
> -     if (!find_first_holder(gl))
> -             wait_on_bit(&gl->gl_flags, GLF_DEMOTE, gfs2_glock_demote_wait,
> -                         TASK_UNINTERRUPTIBLE);
> +     wait_on_bit(&gl->gl_flags, GLF_DEMOTE, gfs2_glock_demote_wait, 
> TASK_UNINTERRUPTIBLE);
>  }
>  
>  /**
> 


Reply via email to