aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-01-05 03:28:18 -0500
committerDan Williams <dan.j.williams@intel.com>2016-01-10 01:42:31 -0500
commit55f5560d8c18fe33fc169f8d244a9247dcac7612 (patch)
tree041dc3780f1ced418067373914e71c2f18b62b8d /block
parent710d69cc99507803ed91b4ec7368fbd66d59f014 (diff)
block: kill disk_{check|set|clear|alloc}_badblocks
These actions are completely managed by a block driver or can use the badblocks api directly. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'block')
-rw-r--r--block/genhd.c42
1 files changed, 0 insertions, 42 deletions
diff --git a/block/genhd.c b/block/genhd.c
index aa38cd0a66c7..5aaeb2ad0fd3 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -506,16 +506,6 @@ static int exact_lock(dev_t devt, void *data)
506 return 0; 506 return 0;
507} 507}
508 508
509int disk_alloc_badblocks(struct gendisk *disk)
510{
511 disk->bb = kzalloc(sizeof(*(disk->bb)), GFP_KERNEL);
512 if (!disk->bb)
513 return -ENOMEM;
514
515 return badblocks_init(disk->bb, 1);
516}
517EXPORT_SYMBOL(disk_alloc_badblocks);
518
519static void register_disk(struct gendisk *disk) 509static void register_disk(struct gendisk *disk)
520{ 510{
521 struct device *ddev = disk_to_dev(disk); 511 struct device *ddev = disk_to_dev(disk);
@@ -682,38 +672,6 @@ void del_gendisk(struct gendisk *disk)
682} 672}
683EXPORT_SYMBOL(del_gendisk); 673EXPORT_SYMBOL(del_gendisk);
684 674
685/*
686 * The gendisk usage of badblocks does not track acknowledgements for
687 * badblocks. We always assume they are acknowledged.
688 */
689int disk_check_badblocks(struct gendisk *disk, sector_t s, int sectors,
690 sector_t *first_bad, int *bad_sectors)
691{
692 if (!disk->bb)
693 return 0;
694
695 return badblocks_check(disk->bb, s, sectors, first_bad, bad_sectors);
696}
697EXPORT_SYMBOL(disk_check_badblocks);
698
699int disk_set_badblocks(struct gendisk *disk, sector_t s, int sectors)
700{
701 if (!disk->bb)
702 return 0;
703
704 return badblocks_set(disk->bb, s, sectors, 1);
705}
706EXPORT_SYMBOL(disk_set_badblocks);
707
708int disk_clear_badblocks(struct gendisk *disk, sector_t s, int sectors)
709{
710 if (!disk->bb)
711 return 0;
712
713 return badblocks_clear(disk->bb, s, sectors);
714}
715EXPORT_SYMBOL(disk_clear_badblocks);
716
717/* sysfs access to bad-blocks list. */ 675/* sysfs access to bad-blocks list. */
718static ssize_t disk_badblocks_show(struct device *dev, 676static ssize_t disk_badblocks_show(struct device *dev,
719 struct device_attribute *attr, 677 struct device_attribute *attr,