aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2008-08-29 05:41:51 -0400
committerJens Axboe <jens.axboe@oracle.com>2008-10-09 02:56:11 -0400
commit2bbedcb4c1abac498f18e5770d62ae66ff235ada (patch)
tree2609360651b9a0d137c5c564a971152c90d52001
parent759f8ca3048f7438aa3129268d7252552505d662 (diff)
block: don't test for partition size in bdget_disk() and blk_lookup_devt()
bdget_disk() and blk_lookup_devt() never cared whether the specified partition (or disk) is zero sized or not. I got confused while converting those not to depend on consecutive minor numbers in commit 5a6411b1178baf534aa9138052864dfa89d3eada and later when dev0 was added it broke callers which expected to get valid return for zero sized disk devices. So, they never needed nr_sects checks in the first place. Kill them. This problem was spotted and debugged by Bartlmoiej Zolnierkiewicz. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--block/genhd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/genhd.c b/block/genhd.c
index 32ee73c67560..ed926b760ca0 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -584,7 +584,7 @@ struct block_device *bdget_disk(struct gendisk *disk, int partno)
584 struct block_device *bdev = NULL; 584 struct block_device *bdev = NULL;
585 585
586 part = disk_get_part(disk, partno); 586 part = disk_get_part(disk, partno);
587 if (part && (part->nr_sects || partno == 0)) 587 if (part)
588 bdev = bdget(part_devt(part)); 588 bdev = bdget(part_devt(part));
589 disk_put_part(part); 589 disk_put_part(part);
590 590
@@ -1031,7 +1031,7 @@ dev_t blk_lookup_devt(const char *name, int partno)
1031 continue; 1031 continue;
1032 1032
1033 part = disk_get_part(disk, partno); 1033 part = disk_get_part(disk, partno);
1034 if (part && (part->nr_sects || partno == 0)) { 1034 if (part) {
1035 devt = part_devt(part); 1035 devt = part_devt(part);
1036 disk_put_part(part); 1036 disk_put_part(part);
1037 break; 1037 break;