[resending] Hi, Currently the rescan_partition returns 0 (success), even if it is unable to rescan the partition information ( may be due to disks offline, I/O error reading the table or unknown partition ). This would make ioctl() calls succeed for BLKRRPART requests even if partitions were not scanned properly, which is not a good thing to do. Attached here is patch to fix the issue. The patch makes rescan_partition to return -EINVAL for unknown partitions and -EIO for disk I/O errors ( or when disks are offline ). Comments ? Thanks, Suzuki K P <suzuki@xxxxxxxxxx> Linux Technology Centre, IBM Systems & Technology Labs. * Fix recscan_partitions to return error when the partition is unknown or there is an I/O error reading the partition information. Signed Off by : Suzuki K P <suzuki@xxxxxxxxxx> Index: linux-2.6.18/fs/partitions/check.c =================================================================== --- linux-2.6.18.orig/fs/partitions/check.c 2006-09-26 04:41:55.000000000 +0530 +++ linux-2.6.18/fs/partitions/check.c 2006-09-26 05:09:29.000000000 +0530 @@ -177,7 +177,7 @@ else if (warn_no_part) printk(" unable to read partition table\n"); kfree(state); - return NULL; + return ERR_PTR(res); } /* @@ -458,8 +458,13 @@ delete_partition(disk, p); if (disk->fops->revalidate_disk) disk->fops->revalidate_disk(disk); - if (!get_capacity(disk) || !(state = check_partition(disk, bdev))) - return 0; + if (!get_capacity(disk)) + return -EINVAL; + state = check_partition(disk, bdev); + if (!state) + return -EINVAL; + if (IS_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; - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html