Re: [PATCH 3.8-stable] GFS2: Fix unlock of fcntl locks during withdrawn state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 11, 2013 at 11:05:18AM +0900, Jonghwan Choi wrote:
> This patch looks like it should be in the 3.8-stable tree, should we apply
> it?

I believe this is also applicable to the 3.5 kernel.  Queuing it

Cheers,
--
Luis

> 
> ------------------
> 
> From: "Steven Whitehouse <swhiteho@xxxxxxxxxx>"
> 
> commit c2952d202f710d326ac36a8ea6bd216b20615ec8 upstream
> 
> When withdraw occurs, we need to continue to allow unlocks of fcntl
> locks to occur, however these will only be local, since the node has
> withdrawn from the cluster. This prevents triggering a VFS level
> bug trap due to locks remaining when a file is closed.
> 
> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx>
> Signed-off-by: Jonghwan Choi <jhbird.choi@xxxxxxxxxxx>
> ---
>  fs/gfs2/file.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
> index 991ab2d..7af426b 100644
> --- a/fs/gfs2/file.c
> +++ b/fs/gfs2/file.c
> @@ -924,8 +924,11 @@ static int gfs2_lock(struct file *file, int cmd, struct
> file_lock *fl)
>  		cmd = F_SETLK;
>  		fl->fl_type = F_UNLCK;
>  	}
> -	if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags)))
> +	if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) {
> +		if (fl->fl_type == F_UNLCK)
> +			posix_lock_file_wait(file, fl);
>  		return -EIO;
> +	}
>  	if (IS_GETLK(cmd))
>  		return dlm_posix_get(ls->ls_dlm, ip->i_no_addr, file, fl);
>  	else if (fl->fl_type == F_UNLCK)
> -- 
> 1.7.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]