summaryrefslogtreecommitdiffstats
path: root/fs/ext3/super.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2009-12-14 13:01:05 -0600
committerJan Kara <jack@suse.cz>2009-12-23 13:44:12 +0100
commit96d2a495c25d525873529b736cdb63ad502b101c (patch)
tree7ceb418c1e26e682cc0c43d47efe4eb2cc639de9 /fs/ext3/super.c
parentb8a052d01669977f224255b0f9f2737018171ddb (diff)
downloadlinux-96d2a495c25d525873529b736cdb63ad502b101c.tar.bz2
ext3: Replace lock/unlock_super() with an explicit lock for resizing
Use a separate lock to protect s_groups_count and the other block group descriptors which get changed via an on-line resize operation, so we can stop overloading the use of lock_super(). Port of ext4 commit 32ed5058ce90024efcd811254b4b1de0468099df by Theodore Ts'o <tytso@mit.edu>. CC: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ext3/super.c')
-rw-r--r--fs/ext3/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 97dd3828384c..afa2b569da10 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -1929,6 +1929,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
#endif
INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */
mutex_init(&sbi->s_orphan_lock);
+ mutex_init(&sbi->s_resize_lock);
sb->s_root = NULL;