Parcourir la source

ext4: do not try to grab the s_umount semaphore in ext4_quota_off

It's not needed to sync the filesystem, and it fixes a lock_dep complaint.

Signed-off-by: Dmitry Monakhov <dmonakhov@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Dmitry Monakhov il y a 14 ans
Parent
commit
87009d86dc
1 fichiers modifiés avec 3 ajouts et 5 suppressions
  1. 3 5
      fs/ext4/super.c

+ 3 - 5
fs/ext4/super.c

@@ -4570,12 +4570,10 @@ static int ext4_quota_on(struct super_block *sb, int type, int format_id,
 
 
 static int ext4_quota_off(struct super_block *sb, int type)
 static int ext4_quota_off(struct super_block *sb, int type)
 {
 {
-	/* Force all delayed allocation blocks to be allocated */
-	if (test_opt(sb, DELALLOC)) {
-		down_read(&sb->s_umount);
+	/* Force all delayed allocation blocks to be allocated.
+	 * Caller already holds s_umount sem */
+	if (test_opt(sb, DELALLOC))
 		sync_filesystem(sb);
 		sync_filesystem(sb);
-		up_read(&sb->s_umount);
-	}
 
 
 	return dquot_quota_off(sb, type);
 	return dquot_quota_off(sb, type);
 }
 }