[PATCH 07/27] BKL: Remove BKL from ext3_put_super() and ext3_remount()

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown [PATCH 07/27] BKL: Remove BKL from ext3_put_super() and ext3_remount()

by Jan Blunck-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The BKL lock is protecting the remounting against a potential call to
ext3_put_super(). This could not happen, since this is protected by the
s_umount rw semaphore of struct super_block.

Therefore I think the BKL is protecting nothing here.

Signed-off-by: Jan Blunck <jblunck@...>
---
 fs/ext3/super.c |    8 --------
 1 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 4b635b7..3ddce03 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -398,8 +398,6 @@ static void ext3_put_super (struct super_block * sb)
  struct ext3_super_block *es = sbi->s_es;
  int i, err;
 
- lock_kernel();
-
  ext3_xattr_put_super(sb);
  err = journal_destroy(sbi->s_journal);
  sbi->s_journal = NULL;
@@ -448,8 +446,6 @@ static void ext3_put_super (struct super_block * sb)
  sb->s_fs_info = NULL;
  kfree(sbi->s_blockgroup_lock);
  kfree(sbi);
-
- unlock_kernel();
 }
 
 static struct kmem_cache *ext3_inode_cachep;
@@ -2495,8 +2491,6 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data)
  int i;
 #endif
 
- lock_kernel();
-
  /* Store the original options */
  lock_super(sb);
  old_sb_flags = sb->s_flags;
@@ -2607,7 +2601,6 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data)
  kfree(old_opts.s_qf_names[i]);
 #endif
  unlock_super(sb);
- unlock_kernel();
  return 0;
 restore_opts:
  sb->s_flags = old_sb_flags;
@@ -2625,7 +2618,6 @@ restore_opts:
  }
 #endif
  unlock_super(sb);
- unlock_kernel();
  return err;
 }
 
--
1.6.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: [PATCH 07/27] BKL: Remove BKL from ext3_put_super() and ext3_remount()

by Jan Kara :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon 02-11-09 11:04:47, Jan Blunck wrote:
> The BKL lock is protecting the remounting against a potential call to
> ext3_put_super(). This could not happen, since this is protected by the
> s_umount rw semaphore of struct super_block.
>
> Therefore I think the BKL is protecting nothing here.
  Yes, I'm also not aware of anything BKL would really protect. So I'm fine
with removing it here.
  Acked-by: Jan Kara <jack@...>
I can merge this patch as well if you want.

                                                                        Honza

>
> Signed-off-by: Jan Blunck <jblunck@...>
> ---
>  fs/ext3/super.c |    8 --------
>  1 files changed, 0 insertions(+), 8 deletions(-)
>
> diff --git a/fs/ext3/super.c b/fs/ext3/super.c
> index 4b635b7..3ddce03 100644
> --- a/fs/ext3/super.c
> +++ b/fs/ext3/super.c
> @@ -398,8 +398,6 @@ static void ext3_put_super (struct super_block * sb)
>   struct ext3_super_block *es = sbi->s_es;
>   int i, err;
>  
> - lock_kernel();
> -
>   ext3_xattr_put_super(sb);
>   err = journal_destroy(sbi->s_journal);
>   sbi->s_journal = NULL;
> @@ -448,8 +446,6 @@ static void ext3_put_super (struct super_block * sb)
>   sb->s_fs_info = NULL;
>   kfree(sbi->s_blockgroup_lock);
>   kfree(sbi);
> -
> - unlock_kernel();
>  }
>  
>  static struct kmem_cache *ext3_inode_cachep;
> @@ -2495,8 +2491,6 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data)
>   int i;
>  #endif
>  
> - lock_kernel();
> -
>   /* Store the original options */
>   lock_super(sb);
>   old_sb_flags = sb->s_flags;
> @@ -2607,7 +2601,6 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data)
>   kfree(old_opts.s_qf_names[i]);
>  #endif
>   unlock_super(sb);
> - unlock_kernel();
>   return 0;
>  restore_opts:
>   sb->s_flags = old_sb_flags;
> @@ -2625,7 +2618,6 @@ restore_opts:
>   }
>  #endif
>   unlock_super(sb);
> - unlock_kernel();
>   return err;
>  }
>  
> --
> 1.6.4.2
>
--
Jan Kara <jack@...>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html