summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <glommer@br.ibm.com>2005-11-28 13:44:02 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-28 14:42:24 -0800
commitaa877b3dc9f2a1fdffac4ea36bee97c21db11a69 (patch)
treefc27487488b60e403d55626068408844c0d47656
parentad09d583106fadfdf751926107cfe35fba6bdbd4 (diff)
downloadlinux-3.10-aa877b3dc9f2a1fdffac4ea36bee97c21db11a69.tar.gz
linux-3.10-aa877b3dc9f2a1fdffac4ea36bee97c21db11a69.tar.bz2
linux-3.10-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>
-rw-r--r--fs/ext3/resize.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c
index 1be78b4b4de..6104ad31050 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;
}