summaryrefslogtreecommitdiffstats
path: root/fs/partitions/check.c
diff options
context:
space:
mode:
authorAbdel Benamrouche <draconux@gmail.com>2008-07-25 01:48:26 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-25 10:53:44 -0700
commit04ebd4aee52b06a2c38127d9208546e5b96f3a19 (patch)
tree25014f06e7bf53ec0b51d717a6a8d0cfb545d985 /fs/partitions/check.c
parentd805dda412346225a50af2d399d958a4bc676c38 (diff)
downloadlinux-04ebd4aee52b06a2c38127d9208546e5b96f3a19.tar.gz
linux-04ebd4aee52b06a2c38127d9208546e5b96f3a19.tar.bz2
linux-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/check.c')
-rw-r--r--fs/partitions/check.c10
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);