| /linux-6.15/include/linux/ |
| H A D | badblocks.h | 28 struct badblocks { struct 53 bool badblocks_set(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); 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); 74 static inline int badblocks_full(struct badblocks *bb) in badblocks_full() 79 static inline int badblocks_empty(struct badblocks *bb) in badblocks_empty() 84 static inline void set_changed(struct badblocks *bb) in set_changed() [all …]
|
| H A D | nd.h | 124 struct badblocks bb;
|
| H A D | blkdev.h | 107 struct badblocks; 211 struct badblocks *bb;
|
| /linux-6.15/block/ |
| H A D | badblocks.c | 534 static bool can_merge_front(struct badblocks *bb, int prev, in can_merge_front() 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() 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() 793 static void badblocks_update_acked(struct badblocks *bb) in badblocks_update_acked() 988 static int front_clear(struct badblocks *bb, int prev, in front_clear() 1375 void ack_all_badblocks(struct badblocks *bb) in ack_all_badblocks() 1522 int badblocks_init(struct badblocks *bb, int enable) in badblocks_init() [all …]
|
| H A D | Makefile | 11 genhd.o ioprio.o badblocks.o partitions/ blk-rq-qos.o \
|
| /linux-6.15/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 | pmem.h | 26 struct badblocks bb;
|
| H A D | nd.h | 421 struct badblocks bb; 654 struct badblocks *bb, const struct range *range); 671 static inline bool is_bad_pmem(struct badblocks *bb, sector_t sector, in is_bad_pmem()
|
| H A D | pmem.c | 250 struct badblocks *bb = &pmem->bb; in __pmem_direct_access() 678 struct badblocks *bb; in pmem_revalidate_poison()
|
| /linux-6.15/drivers/block/null_blk/ |
| H A D | null_blk.h | 65 struct badblocks badblocks; member
|
| 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); 783 if (badblocks_init(&dev->badblocks, 0)) { in null_alloc_dev() 830 badblocks_exit(&dev->badblocks); in null_free_dev() 1339 struct badblocks *bb = &cmd->nq->dev->badblocks; in null_handle_badblocks() 1420 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-6.15/drivers/md/ |
| H A D | md.h | 214 struct badblocks badblocks; member 298 if (unlikely(rdev->badblocks.count)) { in is_badblock() 299 int rv = badblocks_check(&rdev->badblocks, rdev->data_offset + s, in is_badblock()
|
| H A D | md.c | 954 badblocks_exit(&rdev->badblocks); in md_rdev_clear() 1263 rdev->badblocks.shift = -1; in super_90_load() 1779 rdev->badblocks.shift = 0; in super_1_load() 2123 if (rdev->badblocks.count == 0) in super_1_sync() 2129 struct badblocks *bb = &rdev->badblocks; in super_1_sync() 2305 if (rdev->badblocks.sector + rdev->badblocks.size > new_offset) in super_1_allow_new_offset() 2517 rdev->badblocks.count = 0; in md_kick_rdev_from_array() 2753 if (rdev->badblocks.changed) in md_update_sb() 2780 if (rdev->badblocks.size) { in md_update_sb() 2785 rdev->badblocks.size = 0; in md_update_sb() [all …]
|
| /linux-6.15/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-6.15/include/uapi/mtd/ |
| H A D | mtd-abi.h | 308 __u32 badblocks; member
|
| /linux-6.15/drivers/mtd/nand/onenand/ |
| H A D | onenand_bbt.c | 106 mtd->ecc_stats.badblocks++; in create_bbt()
|
| /linux-6.15/drivers/mtd/nand/ |
| H A D | core.c | 90 mtd->ecc_stats.badblocks++; in nanddev_markbad()
|
| /linux-6.15/fs/hpfs/ |
| H A D | hpfs.h | 91 __le32 badblocks; /* bad block list */ member
|
| /linux-6.15/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-6.15/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"); 809 if (!badblocks) in ns_parse_badblocks() 811 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()
|
| /linux-6.15/Documentation/ABI/testing/ |
| H A D | sysfs-bus-nfit | 191 badblocks lists.
|