]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] lost error code in rescan_partitions
authorMartin Pool <mbp@sourcefrog.net>
Wed, 28 Jul 2004 16:12:34 +0000 (09:12 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 28 Jul 2004 16:12:34 +0000 (09:12 -0700)
This fixes a path where an error from reloading the partition table could be
lost.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/partitions/check.c

index cc37e011f10d0baf5f241e1da499499098ac44be..ed308494390c5539dfc7a7ce37f0990bb3ec48b9 100644 (file)
@@ -395,7 +395,7 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
        if (disk->fops->revalidate_disk)
                disk->fops->revalidate_disk(disk);
        if (!get_capacity(disk) || !(state = check_partition(disk, bdev)))
-               return res;
+               return -EIO;
        for (p = 1; p < state->limit; p++) {
                sector_t size = state->parts[p].size;
                sector_t from = state->parts[p].from;
@@ -408,7 +408,7 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
 #endif
        }
        kfree(state);
-       return res;
+       return 0;
 }
 
 unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p)