forked from luck/tmp_suning_uos_patched
partitions/ibm: fix non-DASD devices
Don't error out if the dasd_biodasdinfo symbol is not available.
Cc: stable@vger.kernel.org
Fixes: 26d7e28e38
("s390/dasd: remove ioctl_by_bdev calls")
Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
6d53a9fe5a
commit
7370997d48
|
@ -305,8 +305,6 @@ int ibm_partition(struct parsed_partitions *state)
|
|||
if (!disk->fops->getgeo)
|
||||
goto out_exit;
|
||||
fn = symbol_get(dasd_biodasdinfo);
|
||||
if (!fn)
|
||||
goto out_exit;
|
||||
blocksize = bdev_logical_block_size(bdev);
|
||||
if (blocksize <= 0)
|
||||
goto out_symbol;
|
||||
|
@ -326,7 +324,7 @@ int ibm_partition(struct parsed_partitions *state)
|
|||
geo->start = get_start_sect(bdev);
|
||||
if (disk->fops->getgeo(bdev, geo))
|
||||
goto out_freeall;
|
||||
if (fn(disk, info)) {
|
||||
if (!fn || fn(disk, info)) {
|
||||
kfree(info);
|
||||
info = NULL;
|
||||
}
|
||||
|
@ -370,7 +368,8 @@ int ibm_partition(struct parsed_partitions *state)
|
|||
out_nogeo:
|
||||
kfree(info);
|
||||
out_symbol:
|
||||
symbol_put(dasd_biodasdinfo);
|
||||
if (fn)
|
||||
symbol_put(dasd_biodasdinfo);
|
||||
out_exit:
|
||||
return res;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user