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

[Cluster-devel] Re: [PATCH] gfs2: fix file_system_type leak on gfs2meta mount



Hi,

Now in the -nmw git tree. Thanks,

Steve.

On Mon, 2008-02-25 at 18:58 +0100, Christoph Hellwig wrote:
> get_gfs2_sb does a get_fs_type without doing a put_filesystem and
> thus leaking a file_system_type reference everytime it's called.
> 
> Just use gfs2_fs_type directly instead of doing the lookup and thus
> fix the problem.
> 
> 
> Signed-off-by: Christoph Hellwig <hch lst de>
> 
> Index: linux-2.6/fs/gfs2/ops_fstype.c
> ===================================================================
> --- linux-2.6.orig/fs/gfs2/ops_fstype.c	2008-02-25 18:53:11.000000000 +0100
> +++ linux-2.6/fs/gfs2/ops_fstype.c	2008-02-25 18:53:36.000000000 +0100
> @@ -874,7 +874,6 @@ static struct super_block* get_gfs2_sb(c
>  {
>  	struct kstat stat;
>  	struct nameidata nd;
> -	struct file_system_type *fstype;
>  	struct super_block *sb = NULL, *s;
>  	int error;
>  
> @@ -886,8 +885,7 @@ static struct super_block* get_gfs2_sb(c
>  	}
>  	error = vfs_getattr(nd.path.mnt, nd.path.dentry, &stat);
>  
> -	fstype = get_fs_type("gfs2");
> -	list_for_each_entry(s, &fstype->fs_supers, s_instances) {
> +	list_for_each_entry(s, &gfs2_fs_type.fs_supers, s_instances) {
>  		if ((S_ISBLK(stat.mode) && s->s_dev == stat.rdev) ||
>  		    (S_ISDIR(stat.mode) &&
>  		     s == nd.path.dentry->d_inode->i_sb)) {


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