[PATCH] ext3: Wrong return value for EXT3_IOC_GROUP_ADD
authorGlauber de Oliveira Costa <glommer@br.ibm.com>
Mon, 28 Nov 2005 21:44:02 +0000 (13:44 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 28 Nov 2005 22:42:24 +0000 (14:42 -0800)
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>
fs/ext3/resize.c

index 1be78b4b4de956f7bb9e831a7f3e1c1c489b997b..6104ad3105077ec7a14e5da4f24a261d116035a0 100644 (file)
@@ -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;
        }