diff options
author | Glauber de Oliveira Costa <glommer@br.ibm.com> | 2005-11-28 13:44:02 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-28 14:42:24 -0800 |
commit | aa877b3dc9f2a1fdffac4ea36bee97c21db11a69 (patch) | |
tree | fc27487488b60e403d55626068408844c0d47656 /fs/ext3/resize.c | |
parent | ad09d583106fadfdf751926107cfe35fba6bdbd4 (diff) | |
download | lwn-aa877b3dc9f2a1fdffac4ea36bee97c21db11a69.tar.gz lwn-aa877b3dc9f2a1fdffac4ea36bee97c21db11a69.zip |
[PATCH] ext3: Wrong return value for EXT3_IOC_GROUP_ADD
This patch corrects the return value for the EXT3_IOC_GROUP_ADD in case it
fails due to the presence of multiple resizers at the filesystem.
The problem is a little bit more serious than a wrong return value in this
case, since the clause err=0 in the exit_journal path will lead to a call
to update_backups which in turns causes a NULL pointer dereference.
Signed-off-by: Glauber de Oliveira Costa <glommer@br.ibm.com>
Cc: "Stephen C. Tweedie" <sct@redhat.com>
Cc: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ext3/resize.c')
-rw-r--r-- | fs/ext3/resize.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c index 1be78b4b4de9..6104ad310507 100644 --- a/fs/ext3/resize.c +++ b/fs/ext3/resize.c @@ -767,6 +767,7 @@ int ext3_group_add(struct super_block *sb, struct ext3_new_group_data *input) if (input->group != EXT3_SB(sb)->s_groups_count) { ext3_warning(sb, __FUNCTION__, "multiple resizers run on filesystem!\n"); + err = -EBUSY; goto exit_journal; } |