linux-hardened/include/linux/mtd
Joel Reardon 62f384552b UBI: modify ubi_wl_flush function to clear work queue for a lnum
This patch modifies ubi_wl_flush to force the erasure of
particular volume id / logical eraseblock number pairs. Previous functionality
is preserved when passing UBI_ALL for both values. The locations where ubi_wl_flush
were called are appropriately changed: ubi_leb_erase only flushes for the
erased LEB, and ubi_create_volume forces only flushing for its volume id.
External code can call this new feature via the new function ubi_flush() added
to kapi.c, which simply passes through to ubi_wl_flush().

This was tested by disabling the call to do_work in ubi thread, which results
in the work queue remaining unless explicitly called to remove. UBIFS was
changed to call ubifs_leb_change 50 times for four different LEBs. Then the
new function was called to clear the queue: passing wrong volume ids / lnum,
correct ones, and finally UBI_ALL for both to ensure it was finally all
cleard. The work queue was dumped each time and the selective removal
of the particular LEB numbers was observed. Extra checks were enabled and
ubifs's integck was also run. Finally, the drive was repeatedly filled and
emptied to ensure that the queue was cleared normally.

Artem: amended the patch.

Signed-off-by: Joel Reardon <reardonj@inf.ethz.ch>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2012-05-21 11:34:41 +03:00
..
bbm.h mtd: nand: write BBM to OOB even with flash-based BBT 2012-03-27 00:27:02 +01:00
blktrans.h mtd: mtdblock: call mtd_sync() only if opened for write 2012-03-27 00:11:11 +01:00
cfi.h BUG: headers with BUG/BUG_ON etc. need linux/bug.h 2012-03-04 17:54:34 -05:00
cfi_endian.h mtd: cfi: Allow per-mapping CFI device endianness 2012-01-09 18:06:13 +00:00
concat.h
doc2000.h
flashchip.h
fsmc.h mtd: Add device-tree support to fsmc_nand 2012-03-27 01:01:07 +01:00
ftl.h
gen_probe.h
gpmi-nand.h mtd: fix compile error for gpmi-nand 2011-12-23 21:33:15 +05:30
inftl.h
latch-addr-flash.h
map.h Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mtd.h mtd: add ecc_strength fields to mtd structs 2012-03-27 00:56:36 +01:00
mtdram.h
nand-gpio.h
nand.h mtd: add ecc_strength fields to mtd structs 2012-03-27 00:56:36 +01:00
nand_bch.h mtd: nand: add software BCH ECC support 2011-03-11 17:49:08 +00:00
nand_ecc.h
ndfc.h
nftl.h
onenand.h mtd: OneNAND: Detect the correct NOP when 4KiB pagesize 2011-09-11 15:02:13 +03:00
onenand_regs.h
partitions.h mtd: remove put_partition_parser() from public header 2011-09-11 15:02:13 +03:00
pfow.h
physmap.h mtd: maps: physmap: allow partition parsers for physmap_flash_data 2012-01-09 18:16:15 +00:00
pismo.h
plat-ram.h
qinfo.h
sh_flctl.h mtd: sh_flctl: Add power management with QoS request 2012-03-27 00:53:34 +01:00
sharpsl.h
spear_smi.h mtd: add device-tree support to spear_smi 2012-03-27 01:01:21 +01:00
super.h
ubi.h UBI: modify ubi_wl_flush function to clear work queue for a lnum 2012-05-21 11:34:41 +03:00
xip.h Fix common misspellings 2011-03-31 11:26:23 -03:00