]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - block/genhd.c
md: build failure due to missing delay.h
[linux-2.6-omap-h63xx.git] / block / genhd.c
index 32ee73c67560873d865183f1baceda24b58dcae9..4cd3433c99ac7d64fe05b72a1061cba01059920a 100644 (file)
@@ -584,7 +584,7 @@ struct block_device *bdget_disk(struct gendisk *disk, int partno)
        struct block_device *bdev = NULL;
 
        part = disk_get_part(disk, partno);
-       if (part && (part->nr_sects || partno == 0))
+       if (part)
                bdev = bdget(part_devt(part));
        disk_put_part(part);
 
@@ -697,7 +697,7 @@ static void *show_partition_start(struct seq_file *seqf, loff_t *pos)
        static void *p;
 
        p = disk_seqf_start(seqf, pos);
-       if (!IS_ERR(p) && p)
+       if (!IS_ERR(p) && p && !*pos)
                seq_puts(seqf, "major minor  #blocks  name\n\n");
        return p;
 }
@@ -817,6 +817,11 @@ static DEVICE_ATTR(stat, S_IRUGO, part_stat_show, NULL);
 static struct device_attribute dev_attr_fail =
        __ATTR(make-it-fail, S_IRUGO|S_IWUSR, part_fail_show, part_fail_store);
 #endif
+#ifdef CONFIG_FAIL_IO_TIMEOUT
+static struct device_attribute dev_attr_fail_timeout =
+       __ATTR(io-timeout-fail,  S_IRUGO|S_IWUSR, part_timeout_show,
+               part_timeout_store);
+#endif
 
 static struct attribute *disk_attrs[] = {
        &dev_attr_range.attr,
@@ -828,6 +833,9 @@ static struct attribute *disk_attrs[] = {
        &dev_attr_stat.attr,
 #ifdef CONFIG_FAIL_MAKE_REQUEST
        &dev_attr_fail.attr,
+#endif
+#ifdef CONFIG_FAIL_IO_TIMEOUT
+       &dev_attr_fail_timeout.attr,
 #endif
        NULL
 };
@@ -1031,7 +1039,7 @@ dev_t blk_lookup_devt(const char *name, int partno)
                        continue;
 
                part = disk_get_part(disk, partno);
-               if (part && (part->nr_sects || partno == 0)) {
+               if (part) {
                        devt = part_devt(part);
                        disk_put_part(part);
                        break;