diff options
author | Dan Williams <dan.j.williams@intel.com> | 2016-01-05 03:28:18 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2016-01-10 01:42:31 -0500 |
commit | 55f5560d8c18fe33fc169f8d244a9247dcac7612 (patch) | |
tree | 041dc3780f1ced418067373914e71c2f18b62b8d /block | |
parent | 710d69cc99507803ed91b4ec7368fbd66d59f014 (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.c | 42 |
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 | ||
509 | int 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 | } | ||
517 | EXPORT_SYMBOL(disk_alloc_badblocks); | ||
518 | |||
519 | static void register_disk(struct gendisk *disk) | 509 | static 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 | } |
683 | EXPORT_SYMBOL(del_gendisk); | 673 | EXPORT_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 | */ | ||
689 | int 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 | } | ||
697 | EXPORT_SYMBOL(disk_check_badblocks); | ||
698 | |||
699 | int 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 | } | ||
706 | EXPORT_SYMBOL(disk_set_badblocks); | ||
707 | |||
708 | int 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 | } | ||
715 | EXPORT_SYMBOL(disk_clear_badblocks); | ||
716 | |||
717 | /* sysfs access to bad-blocks list. */ | 675 | /* sysfs access to bad-blocks list. */ |
718 | static ssize_t disk_badblocks_show(struct device *dev, | 676 | static ssize_t disk_badblocks_show(struct device *dev, |
719 | struct device_attribute *attr, | 677 | struct device_attribute *attr, |