Lines Matching defs:blocks

88 	struct block *blocks;
95 struct block *block = &part->blocks[block_no];
188 part->blocks = kcalloc(part->total_blocks, sizeof(struct block),
190 if (!part->blocks)
235 kfree(part->blocks);
277 erase->addr = part->blocks[block].offset;
280 part->blocks[block].state = BLOCK_ERASING;
281 part->blocks[block].free_sectors = 0;
288 part->blocks[block].state = BLOCK_FAILED;
289 part->blocks[block].free_sectors = 0;
290 part->blocks[block].used_sectors = 0;
295 part->blocks[block].state = BLOCK_ERASED;
296 part->blocks[block].free_sectors = part->data_sectors_per_block;
297 part->blocks[block].used_sectors = 0;
298 part->blocks[block].erases++;
300 rc = mtd_write(part->mbd.mtd, part->blocks[block].offset,
307 part->mbd.mtd->name, part->blocks[block].offset);
308 part->blocks[block].state = BLOCK_FAILED;
310 part->blocks[block].state = BLOCK_OK;
336 rc = mtd_read(part->mbd.mtd, part->blocks[block_no].offset,
345 part->blocks[block_no].offset);
365 addr = part->blocks[block_no].offset +
370 if (!part->blocks[block_no].used_sectors--) {
433 if (part->blocks[block].free_sectors)
436 this_score = part->blocks[block].used_sectors;
442 if (part->blocks[block].used_sectors ==
447 this_score += part->blocks[block].erases;
463 part->blocks[best_block].used_sectors,
464 part->blocks[best_block].free_sectors);
466 if (part->blocks[best_block].used_sectors)
488 if (part->blocks[block].free_sectors &&
492 if (part->blocks[block].state == BLOCK_UNUSED)
525 rc = mtd_read(part->mbd.mtd, part->blocks[block].offset,
535 part->blocks[block].offset);
556 addr = part->blocks[block].offset +
572 part->blocks[block].used_sectors--;
574 if (!part->blocks[block].used_sectors &&
575 !part->blocks[block].free_sectors)
612 !part->blocks[part->current_block].free_sectors) {
619 block = &part->blocks[part->current_block];
800 part->mbd.mtd->name, i, part->blocks[i].erases);
805 kfree(part->blocks);