Home
last modified time | relevance | path

Searched refs:badblocks (Results 1 – 25 of 32) sorted by relevance

12

/linux-6.15/include/linux/
H A Dbadblocks.h28 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 Dnd.h124 struct badblocks bb;
H A Dblkdev.h107 struct badblocks;
211 struct badblocks *bb;
/linux-6.15/block/
H A Dbadblocks.c534 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 DMakefile11 genhd.o ioprio.o badblocks.o partitions/ blk-rq-qos.o \
/linux-6.15/drivers/nvdimm/
H A Dbadrange.c165 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 Dbtt.h199 struct badblocks;
232 struct badblocks *phys_bb;
H A Dpmem.h26 struct badblocks bb;
H A Dnd.h421 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 Dpmem.c250 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 Dnull_blk.h65 struct badblocks badblocks; member
H A Dmain.c529 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 Dzoned.c416 if (dev->badblocks.shift != -1) { in null_zone_write()
/linux-6.15/drivers/md/
H A Dmd.h214 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 Dmd.c954 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 Dmtdconcat.c624 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 Dmtdpart.c213 child->ecc_stats.badblocks++; in allocate_partition()
/linux-6.15/include/uapi/mtd/
H A Dmtd-abi.h308 __u32 badblocks; member
/linux-6.15/drivers/mtd/nand/onenand/
H A Donenand_bbt.c106 mtd->ecc_stats.badblocks++; in create_bbt()
/linux-6.15/drivers/mtd/nand/
H A Dcore.c90 mtd->ecc_stats.badblocks++; in nanddev_markbad()
/linux-6.15/fs/hpfs/
H A Dhpfs.h91 __le32 badblocks; /* bad block list */ member
/linux-6.15/Documentation/admin-guide/device-mapper/
H A Ddm-dust.rst202 dust_clear_badblocks: badblocks cleared
207 dust_clear_badblocks: no badblocks found
/linux-6.15/drivers/mtd/nand/raw/
H A Dnandsim.c90 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 Dnand_bbt.c239 mtd->ecc_stats.badblocks++; in read_bbt()
529 mtd->ecc_stats.badblocks++; in create_bbt()
/linux-6.15/Documentation/ABI/testing/
H A Dsysfs-bus-nfit191 badblocks lists.

12