| /linux/include/linux/ |
| H A D | badblocks.h | 28 struct badblocks { struct 51 int badblocks_check(struct badblocks *bb, sector_t s, sector_t sectors, argument 53 bool badblocks_set(struct badblocks *bb, sector_t s, sector_t sectors, 55 bool badblocks_clear(struct badblocks *bb, sector_t s, sector_t sectors); 56 void ack_all_badblocks(struct badblocks *bb); 57 ssize_t badblocks_show(struct badblocks *bb, char *page, int unack); 58 ssize_t badblocks_store(struct badblocks *bb, const char *page, size_t len, 60 int badblocks_init(struct badblocks *bb, int enable); 61 void badblocks_exit(struct badblocks *bb); 63 int devm_init_badblocks(struct device *dev, struct badblocks *bb); [all …]
|
| H A D | nd.h | 124 struct badblocks bb;
|
| /linux/block/ |
| H A D | badblocks.c | 457 static int prev_by_hint(struct badblocks *bb, sector_t s, int hint) in prev_by_hint() 481 static int prev_badblocks(struct badblocks *bb, struct badblocks_context *bad, in prev_badblocks() 534 static bool can_merge_front(struct badblocks *bb, int prev, in can_merge_front() 552 static int front_merge(struct badblocks *bb, int prev, struct badblocks_context *bad) in front_merge() 588 static bool can_combine_front(struct badblocks *bb, int prev, in can_combine_front() 609 static void front_combine(struct badblocks *bb, int prev) in front_combine() 626 static bool overlap_front(struct badblocks *bb, int front, in overlap_front() 641 static bool overlap_behind(struct badblocks *bb, struct badblocks_context *bad, in overlap_behind() 673 static bool can_front_overwrite(struct badblocks *bb, int prev, in can_front_overwrite() 716 static int front_overwrite(struct badblocks *bb, int prev, in front_overwrite() [all …]
|
| H A D | genhd.c | 1173 static DEVICE_ATTR(badblocks, 0644, disk_badblocks_show, disk_badblocks_store);
|
| /linux/drivers/nvdimm/ |
| H A D | badrange.c | 165 static void set_badblock(struct badblocks *bb, sector_t s, int num) in set_badblock() 185 static void __add_badblock_range(struct badblocks *bb, u64 ns_offset, u64 len) in __add_badblock_range() 214 struct badblocks *bb, const struct range *range) in badblocks_populate() 270 struct badblocks *bb, const struct range *range) in nvdimm_badblocks_populate()
|
| H A D | btt.h | 199 struct badblocks; 232 struct badblocks *phys_bb;
|
| H A D | nd.h | 421 struct badblocks bb; 657 struct badblocks *bb, const struct range *range); 674 static inline bool is_bad_pmem(struct badblocks *bb, sector_t sector, in is_bad_pmem()
|
| H A D | region_devs.c | 590 static DEVICE_ATTR(badblocks, 0444, region_badblocks_show, NULL);
|
| /linux/drivers/mtd/ |
| H A D | mtdconcat.c | 624 mtd->ecc_stats.badblocks++; in concat_block_markbad() 702 concat->mtd.ecc_stats.badblocks = subdev[0]->ecc_stats.badblocks; in mtd_concat_create() 733 concat->mtd.ecc_stats.badblocks += in mtd_concat_create() 734 subdev[i]->ecc_stats.badblocks; in mtd_concat_create()
|
| H A D | mtdpart.c | 213 child->ecc_stats.badblocks++; in allocate_partition()
|
| /linux/drivers/block/null_blk/ |
| H A D | main.c | 529 return badblocks_show(&t_dev->badblocks, page, 0); in nullb_device_badblocks_show() 563 cmpxchg(&t_dev->badblocks.shift, -1, 0); in nullb_device_badblocks_store() 565 if (badblocks_set(&t_dev->badblocks, start, in nullb_device_badblocks_store() 568 } else if (badblocks_clear(&t_dev->badblocks, start, in nullb_device_badblocks_store() 576 CONFIGFS_ATTR(nullb_device_, badblocks); 793 if (badblocks_init(&dev->badblocks, 0)) { in null_alloc_dev() 840 badblocks_exit(&dev->badblocks); in null_free_dev() 1349 struct badblocks *bb = &cmd->nq->dev->badblocks; in null_handle_badblocks() 1430 if (dev->badblocks.shift != -1) in null_process_cmd()
|
| H A D | zoned.c | 416 if (dev->badblocks.shift != -1) { in null_zone_write()
|
| /linux/drivers/md/ |
| H A D | md.c | 1081 badblocks_exit(&rdev->badblocks); in md_rdev_clear() 1401 rdev->badblocks.shift = -1; in super_90_load() 1892 rdev->badblocks.count == 0) { in super_1_load() 1911 rdev->badblocks.shift = sb->bblog_shift; in super_1_load() 1920 if (!badblocks_set(&rdev->badblocks, sector, count, 1)) in super_1_load() 1924 rdev->badblocks.shift = 0; in super_1_load() 2272 if (rdev->badblocks.count == 0) in super_1_sync() 2278 struct badblocks *bb = &rdev->badblocks; in super_1_sync() 2455 if (rdev->badblocks.sector + rdev->badblocks.size > new_offset) in super_1_allow_new_offset() 2664 rdev->badblocks.count = 0; in md_kick_rdev_from_array() [all …]
|
| H A D | raid1.c | 2502 if (rdev->badblocks.shift < 0) in narrow_write_error() 2505 block_sectors = roundup(1 << rdev->badblocks.shift, lbs); in narrow_write_error()
|
| H A D | raid10.c | 2790 if (rdev->badblocks.shift < 0) in narrow_write_error() 2793 block_sectors = roundup(1 << rdev->badblocks.shift, lbs); in narrow_write_error()
|
| /linux/include/uapi/mtd/ |
| H A D | mtd-abi.h | 308 __u32 badblocks; member
|
| /linux/drivers/mtd/nand/onenand/ |
| H A D | onenand_bbt.c | 106 mtd->ecc_stats.badblocks++; in create_bbt()
|
| /linux/drivers/mtd/nand/raw/ |
| H A D | nandsim.c | 90 static char *badblocks = NULL; variable 122 module_param(badblocks, charp, 0400); 148 MODULE_PARM_DESC(badblocks, "Erase blocks that are initially marked bad, separated by commas"); 808 if (!badblocks) in ns_parse_badblocks() 810 w = badblocks; in ns_parse_badblocks()
|
| H A D | nand_bbt.c | 239 mtd->ecc_stats.badblocks++; in read_bbt() 529 mtd->ecc_stats.badblocks++; in create_bbt()
|
| H A D | nand_base.c | 597 mtd->ecc_stats.badblocks++; in nand_block_markbad_lowlevel()
|
| /linux/fs/hpfs/ |
| H A D | hpfs.h | 91 __le32 badblocks; /* bad block list */ member
|
| /linux/Documentation/admin-guide/device-mapper/ |
| H A D | dm-dust.rst | 202 dust_clear_badblocks: badblocks cleared 207 dust_clear_badblocks: no badblocks found
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-nfit | 191 badblocks lists.
|