Lines Matching refs:erase

102 /* Maximum number of outstanding erase requests per socket */
152 partition. build_maps() reads all the erase unit headers, builds
153 the erase unit map, and then builds the virtual page map.
207 /* Set up erase unit maps */
252 /* Pick anything reasonable for the erase count */
264 printk(KERN_NOTICE "ftl_cs: format error: erase units "
328 Erase_xfer() schedules an asynchronous erase operation for a
338 struct erase_info *erase;
344 /* Is there a free erase slot? Always in MTD. */
347 erase=kmalloc(sizeof(struct erase_info), GFP_KERNEL);
348 if (!erase)
351 erase->mtd = part->mbd.mtd;
352 erase->callback = ftl_erase_callback;
353 erase->addr = xfer->Offset;
354 erase->len = 1 << part->header.EraseUnitSize;
355 erase->priv = (u_long)part;
357 ret = mtd_erase(part->mbd.mtd, erase);
362 kfree(erase);
374 static void ftl_erase_callback(struct erase_info *erase)
381 part = (partition_t *)(erase->priv);
384 if (part->XferInfo[i].Offset == erase->addr) break;
388 "erase lookup failed!\n");
393 if (erase->state == MTD_ERASE_DONE)
397 printk(KERN_NOTICE "ftl_cs: erase failed: state = %d\n",
398 erase->state);
401 kfree(erase);
453 Copy_erase_unit() takes a full erase block and a transfer unit,
593 reclaim_block() picks a full erase unit and a transfer unit and
595 schedules an erase on the expired block.
597 What's a good way to decide which transfer unit and which erase
706 the BAM cache for the erase unit containing the free block. It
707 returns the block index -- the erase unit is just the currently
733 /* Find an erase unit with some free space */
1014 pr_debug("FTL erase sector %ld for %d sectors\n",