diff options
author | Abdel Benamrouche <draconux@gmail.com> | 2008-07-25 01:48:26 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-25 10:53:44 -0700 |
commit | 04ebd4aee52b06a2c38127d9208546e5b96f3a19 (patch) | |
tree | 25014f06e7bf53ec0b51d717a6a8d0cfb545d985 /fs/partitions | |
parent | d805dda412346225a50af2d399d958a4bc676c38 (diff) | |
download | lwn-04ebd4aee52b06a2c38127d9208546e5b96f3a19.tar.gz lwn-04ebd4aee52b06a2c38127d9208546e5b96f3a19.zip |
block/ioctl.c and fs/partition/check.c: check value returned by add_partition()
Now that add_partition() has been aught to propagate errors, let's check them.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Abdel Benamrouche <draconux@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/partitions')
-rw-r--r-- | fs/partitions/check.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c index 2e6413fbd2d8..7d6b34e201db 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c @@ -499,10 +499,16 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev) if (!size) continue; if (from + size > get_capacity(disk)) { - printk(" %s: p%d exceeds device capacity\n", + printk(KERN_ERR " %s: p%d exceeds device capacity\n", disk->disk_name, p); + continue; + } + res = add_partition(disk, p, from, size, state->parts[p].flags); + if (res) { + printk(KERN_ERR " %s: p%d could not be added: %d\n", + disk->disk_name, p, -res); + continue; } - add_partition(disk, p, from, size, state->parts[p].flags); #ifdef CONFIG_BLK_DEV_MD if (state->parts[p].flags & ADDPART_FLAG_RAID) md_autodetect_dev(bdev->bd_dev+p); |