Subject: Re: linux-next: manual merge of the vfs tree with the gfs2 tree

From: Steven Whitehouse <[email-masked]>
Date: Wed, 27 May 2009 10:58:51 +0100

Hi,

On Wed, 2009-05-27 at 11:52 +1000, Stephen Rothwell wrote:
> Hi Al,
> 
> Today's linux-next merge of the vfs tree got a conflict in
> fs/gfs2/ops_super.c between commit
> 9e6e0a128bca0a151d8d3fbd9459b22fc21cfebb ("GFS2: Merge mount.c and
> ops_super.c into super.c") from the gfs2 tree and commits
> 17af8f24a7750ea3d947904f97eb6dfacf9a88aa ("gfs2: remove ->write_super and
> stop maintaining ->s_dirt") and 8123178eb9ca12cde31a95170746e15a79528a62
> ("push BKL down into ->put_super") from the vfs tree.
> 
> The former commit removed the file.  I have mechanically applied the
> changes in the latter two commits to fs/gfs2/super.c (see below) and can
> carry this as a merge fix as necessary.
> -- 
> Cheers,
> Stephen Rothwell                    [email-masked]
> 
Thanks for fixing this up.

> diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
> index 40bcc37..c8930b3 100644
> --- a/fs/gfs2/super.c
> +++ b/fs/gfs2/super.c
> @@ -719,6 +719,8 @@ static void gfs2_put_super(struct super_block *sb)
>  	int error;
>  	struct gfs2_jdesc *jd;
>  
> +	lock_kernel();
> +
>  	/*  Unfreeze the filesystem, if we need to  */
>  
>  	mutex_lock(&sdp->sd_freeze_lock);
> @@ -785,17 +787,8 @@ restart:
>  
>  	/*  At this point, we're through participating in the lockspace  */
>  	gfs2_sys_fs_del(sdp);
> -}

Al/Christoph, what is the purpose of the lock_kernel() ? I don't see why
this is required. What is it protecting against?

Steve.