Lines Matching full:bad
3 * Bad block management
20 * badblocks_check() - check a given range for bad sectors
27 * We can record which blocks on each device are 'bad' and so just
29 * Entries in the bad-block table are 64bits wide. This comprises:
30 * Length of bad-range, in sectors: 0-511 for lengths 1-512
31 * Start of bad-range, sector offset, 54 bits (allows 8 exbibytes)
36 * Locking of the bad-block table uses a seqlock so badblocks_check
38 * We will sometimes want to check for bad blocks in a bi_end_io function,
41 * When looking for a bad block we specify a range and want to
42 * know if any block in the range is bad. So we binary-search
48 * 0: there are no known bad blocks in the range
49 * 1: there are known bad block which are all acknowledged
50 * -1: there are bad blocks which have not yet been acknowledged in metadata.
51 * plus the start/length of the first bad section we overlap.
70 /* 'target' is now the first block after the bad range */ in badblocks_check()
149 * badblocks_set() - Add a range of bad blocks to the table.
151 * @s: first sector to mark as bad
152 * @sectors: number of sectors to mark as bad
153 * @acknowledged: weather to mark the bad sectors as acknowledged
318 * badblocks_clear() - Remove a range of bad blocks to the table.
320 * @s: first sector to mark as bad
321 * @sectors: number of sectors to mark as bad
342 * However it is better the think a block is bad when it in badblocks_clear()
343 * isn't than to think a block is not bad when it is. in badblocks_clear()
427 * ack_all_badblocks() - Acknowledge all bad blocks in a list.
459 * badblocks_show() - sysfs access to bad-blocks list
508 * badblocks_store() - sysfs access to bad-blocks list