Symbol: badblocks
block/badblocks.c
1031
static int front_splitting_clear(struct badblocks *bb, int prev,
block/badblocks.c
1049
static bool _badblocks_clear(struct badblocks *bb, sector_t s, sector_t sectors)
block/badblocks.c
1186
static int _badblocks_check(struct badblocks *bb, sector_t s, sector_t sectors,
block/badblocks.c
1298
int badblocks_check(struct badblocks *bb, sector_t s, sector_t sectors,
block/badblocks.c
1341
bool badblocks_set(struct badblocks *bb, sector_t s, sector_t sectors,
block/badblocks.c
1362
bool badblocks_clear(struct badblocks *bb, sector_t s, sector_t sectors)
block/badblocks.c
1375
void ack_all_badblocks(struct badblocks *bb)
block/badblocks.c
1414
ssize_t badblocks_show(struct badblocks *bb, char *page, int unack)
block/badblocks.c
1464
ssize_t badblocks_store(struct badblocks *bb, const char *page, size_t len,
block/badblocks.c
1491
static int __badblocks_init(struct device *dev, struct badblocks *bb,
block/badblocks.c
1522
int badblocks_init(struct badblocks *bb, int enable)
block/badblocks.c
1528
int devm_init_badblocks(struct device *dev, struct badblocks *bb)
block/badblocks.c
1540
void badblocks_exit(struct badblocks *bb)
block/badblocks.c
457
static int prev_by_hint(struct badblocks *bb, sector_t s, int hint)
block/badblocks.c
481
static int prev_badblocks(struct badblocks *bb, struct badblocks_context *bad,
block/badblocks.c
534
static bool can_merge_front(struct badblocks *bb, int prev,
block/badblocks.c
552
static int front_merge(struct badblocks *bb, int prev, struct badblocks_context *bad)
block/badblocks.c
588
static bool can_combine_front(struct badblocks *bb, int prev,
block/badblocks.c
609
static void front_combine(struct badblocks *bb, int prev)
block/badblocks.c
626
static bool overlap_front(struct badblocks *bb, int front,
block/badblocks.c
641
static bool overlap_behind(struct badblocks *bb, struct badblocks_context *bad,
block/badblocks.c
673
static bool can_front_overwrite(struct badblocks *bb, int prev,
block/badblocks.c
716
static int front_overwrite(struct badblocks *bb, int prev,
block/badblocks.c
778
static int insert_at(struct badblocks *bb, int at, struct badblocks_context *bad)
block/badblocks.c
793
static void badblocks_update_acked(struct badblocks *bb)
block/badblocks.c
817
static bool try_adjacent_combine(struct badblocks *bb, int prev)
block/badblocks.c
839
static bool _badblocks_set(struct badblocks *bb, sector_t s, sector_t sectors,
block/badblocks.c
988
static int front_clear(struct badblocks *bb, int prev,
block/genhd.c
1173
static DEVICE_ATTR(badblocks, 0644, disk_badblocks_show, disk_badblocks_store);
drivers/block/null_blk/main.c
1349
struct badblocks *bb = &cmd->nq->dev->badblocks;
drivers/block/null_blk/main.c
1430
if (dev->badblocks.shift != -1)
drivers/block/null_blk/main.c
529
return badblocks_show(&t_dev->badblocks, page, 0);
drivers/block/null_blk/main.c
563
cmpxchg(&t_dev->badblocks.shift, -1, 0);
drivers/block/null_blk/main.c
565
if (badblocks_set(&t_dev->badblocks, start,
drivers/block/null_blk/main.c
568
} else if (badblocks_clear(&t_dev->badblocks, start,
drivers/block/null_blk/main.c
576
CONFIGFS_ATTR(nullb_device_, badblocks);
drivers/block/null_blk/main.c
793
if (badblocks_init(&dev->badblocks, 0)) {
drivers/block/null_blk/main.c
840
badblocks_exit(&dev->badblocks);
drivers/block/null_blk/null_blk.h
65
struct badblocks badblocks;
drivers/block/null_blk/zoned.c
416
if (dev->badblocks.shift != -1) {
drivers/md/md.c
10420
if (!badblocks_set(&rdev->badblocks, s, sectors, 0)) {
drivers/md/md.c
10448
if (!badblocks_clear(&rdev->badblocks, s, sectors))
drivers/md/md.c
1081
badblocks_exit(&rdev->badblocks);
drivers/md/md.c
1401
rdev->badblocks.shift = -1;
drivers/md/md.c
1892
rdev->badblocks.count == 0) {
drivers/md/md.c
1911
rdev->badblocks.shift = sb->bblog_shift;
drivers/md/md.c
1920
if (!badblocks_set(&rdev->badblocks, sector, count, 1))
drivers/md/md.c
1924
rdev->badblocks.shift = 0;
drivers/md/md.c
2272
if (rdev->badblocks.count == 0)
drivers/md/md.c
2278
struct badblocks *bb = &rdev->badblocks;
drivers/md/md.c
2455
if (rdev->badblocks.sector + rdev->badblocks.size > new_offset)
drivers/md/md.c
2664
rdev->badblocks.count = 0;
drivers/md/md.c
2837
if (rdev->badblocks.changed) {
drivers/md/md.c
2838
rdev->badblocks.changed = 0;
drivers/md/md.c
2839
ack_all_badblocks(&rdev->badblocks);
drivers/md/md.c
2901
if (rdev->badblocks.changed)
drivers/md/md.c
2928
if (rdev->badblocks.size) {
drivers/md/md.c
2930
rdev->badblocks.sector,
drivers/md/md.c
2931
rdev->badblocks.size << 9,
drivers/md/md.c
2933
rdev->badblocks.size = 0;
drivers/md/md.c
2961
ack_all_badblocks(&rdev->badblocks);
drivers/md/md.c
3032
rdev->badblocks.unacked_exist))
drivers/md/md.c
3041
(rdev->badblocks.unacked_exist
drivers/md/md.c
3129
rdev->badblocks.unacked_exist) {
drivers/md/md.c
3222
rdev->badblocks.shift = 0;
drivers/md/md.c
3596
return badblocks_show(&rdev->badblocks, page, 0);
drivers/md/md.c
3600
int rv = badblocks_store(&rdev->badblocks, page, len, 0);
drivers/md/md.c
3611
return badblocks_show(&rdev->badblocks, page, 1);
drivers/md/md.c
3615
return badblocks_store(&rdev->badblocks, page, len, 1);
drivers/md/md.c
3800
return badblocks_init(&rdev->badblocks, 0);
drivers/md/md.h
219
struct badblocks badblocks;
drivers/md/md.h
303
if (unlikely(rdev->badblocks.count)) {
drivers/md/md.h
304
int rv = badblocks_check(&rdev->badblocks, rdev->data_offset + s,
drivers/md/raid1.c
2502
if (rdev->badblocks.shift < 0)
drivers/md/raid1.c
2505
block_sectors = roundup(1 << rdev->badblocks.shift, lbs);
drivers/md/raid10.c
2790
if (rdev->badblocks.shift < 0)
drivers/md/raid10.c
2793
block_sectors = roundup(1 << rdev->badblocks.shift, lbs);
drivers/mtd/mtdconcat.c
624
mtd->ecc_stats.badblocks++;
drivers/mtd/mtdconcat.c
702
concat->mtd.ecc_stats.badblocks = subdev[0]->ecc_stats.badblocks;
drivers/mtd/mtdconcat.c
733
concat->mtd.ecc_stats.badblocks +=
drivers/mtd/mtdconcat.c
734
subdev[i]->ecc_stats.badblocks;
drivers/mtd/mtdcore.c
2418
mtd->ecc_stats.badblocks++;
drivers/mtd/mtdcore.c
328
return sysfs_emit(buf, "%u\n", ecc_stats->badblocks);
drivers/mtd/mtdpart.c
213
child->ecc_stats.badblocks++;
drivers/mtd/nand/core.c
221
mtd->ecc_stats.badblocks++;
drivers/mtd/nand/onenand/onenand_bbt.c
106
mtd->ecc_stats.badblocks++;
drivers/mtd/nand/raw/nand_base.c
597
mtd->ecc_stats.badblocks++;
drivers/mtd/nand/raw/nand_bbt.c
239
mtd->ecc_stats.badblocks++;
drivers/mtd/nand/raw/nand_bbt.c
529
mtd->ecc_stats.badblocks++;
drivers/mtd/nand/raw/nandsim.c
122
module_param(badblocks, charp, 0400);
drivers/mtd/nand/raw/nandsim.c
148
MODULE_PARM_DESC(badblocks, "Erase blocks that are initially marked bad, separated by commas");
drivers/mtd/nand/raw/nandsim.c
808
if (!badblocks)
drivers/mtd/nand/raw/nandsim.c
810
w = badblocks;
drivers/mtd/nand/raw/nandsim.c
90
static char *badblocks = NULL;
drivers/nvdimm/badrange.c
165
static void set_badblock(struct badblocks *bb, sector_t s, int num)
drivers/nvdimm/badrange.c
185
static void __add_badblock_range(struct badblocks *bb, u64 ns_offset, u64 len)
drivers/nvdimm/badrange.c
214
struct badblocks *bb, const struct range *range)
drivers/nvdimm/badrange.c
270
struct badblocks *bb, const struct range *range)
drivers/nvdimm/btt.h
199
struct badblocks;
drivers/nvdimm/btt.h
232
struct badblocks *phys_bb;
drivers/nvdimm/nd.h
421
struct badblocks bb;
drivers/nvdimm/nd.h
657
struct badblocks *bb, const struct range *range);
drivers/nvdimm/nd.h
674
static inline bool is_bad_pmem(struct badblocks *bb, sector_t sector,
drivers/nvdimm/pmem.c
249
struct badblocks *bb = &pmem->bb;
drivers/nvdimm/pmem.c
676
struct badblocks *bb;
drivers/nvdimm/pmem.h
24
struct badblocks bb;
drivers/nvdimm/region_devs.c
590
static DEVICE_ATTR(badblocks, 0444, region_badblocks_show, NULL);
fs/hpfs/hpfs.h
91
__le32 badblocks; /* bad block list */
include/linux/badblocks.h
51
int badblocks_check(struct badblocks *bb, sector_t s, sector_t sectors,
include/linux/badblocks.h
53
bool badblocks_set(struct badblocks *bb, sector_t s, sector_t sectors,
include/linux/badblocks.h
55
bool badblocks_clear(struct badblocks *bb, sector_t s, sector_t sectors);
include/linux/badblocks.h
56
void ack_all_badblocks(struct badblocks *bb);
include/linux/badblocks.h
57
ssize_t badblocks_show(struct badblocks *bb, char *page, int unack);
include/linux/badblocks.h
58
ssize_t badblocks_store(struct badblocks *bb, const char *page, size_t len,
include/linux/badblocks.h
60
int badblocks_init(struct badblocks *bb, int enable);
include/linux/badblocks.h
61
void badblocks_exit(struct badblocks *bb);
include/linux/badblocks.h
63
int devm_init_badblocks(struct device *dev, struct badblocks *bb);
include/linux/badblocks.h
64
static inline void devm_exit_badblocks(struct device *dev, struct badblocks *bb)
include/linux/badblocks.h
74
static inline int badblocks_full(struct badblocks *bb)
include/linux/badblocks.h
79
static inline int badblocks_empty(struct badblocks *bb)
include/linux/badblocks.h
84
static inline void set_changed(struct badblocks *bb)
include/linux/badblocks.h
90
static inline void clear_changed(struct badblocks *bb)
include/linux/blkdev.h
108
struct badblocks;
include/linux/blkdev.h
213
struct badblocks *bb;
include/linux/nd.h
124
struct badblocks bb;
include/uapi/mtd/mtd-abi.h
308
__u32 badblocks;