summaryrefslogtreecommitdiff
path: root/fs/partitions
diff options
context:
space:
mode:
authorsuzuki <suzuki@in.ibm.com>2007-03-16 13:38:25 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-16 19:25:05 -0700
commitb74a2f0913694556a027795d2954d30523fac4c5 (patch)
treec99e002949bc22db27efa4e635e1bbbf7138d1df /fs/partitions
parentb257bc051f06607beb3004d9a1c297085e728bec (diff)
[PATCH] fix rescan_partitions to return errors properly
The only error code which comes from the partition checkers is -1, when they finds an EIO. As per the discussion, ENOMEM values were ignored, as they might scare the users. So, with the current code, we end up returning -1 and not EIO for the ioctl() calls. Which doesn't give any clue to the user of what went wrong. Signed-off-by: Suzuki K P <suzuki@in.ibm.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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index e46d237b10f9..8a7d0035ad7a 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -541,7 +541,7 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
if (!get_capacity(disk) || !(state = check_partition(disk, bdev)))
return 0;
if (IS_ERR(state)) /* I/O error reading the partition table */
- return PTR_ERR(state);
+ return -EIO;
for (p = 1; p < state->limit; p++) {
sector_t size = state->parts[p].size;
sector_t from = state->parts[p].from;