UBI: add lnum and vol_id to struct ubi_work
authorJoel Reardon <joel@clambassador.com>
Fri, 18 May 2012 13:40:24 +0000 (15:40 +0200)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Mon, 21 May 2012 08:34:41 +0000 (11:34 +0300)
commitd36e59e69b8be536c55d6118630f0221cee5ccee
tree8ffa8feec4ddbfeca391278c449c5ba1b3e78d2e
parent6dd3bc7e6032ffb392477fadca77172c1c9e346b
UBI: add lnum and vol_id to struct ubi_work

This is part of a multipart patch to allow UBI to force the erasure of
particular logical eraseblock numbers. In this patch, the volume id and LEB
number are added to ubi_work data structure, and both are also passed as a
parameter to schedule erase to set it appropriately. Whenever ubi_wl_put_peb
is called, the lnum is also passed to be forwarded to schedule erase. Later,
a new ubi_sync_lnum will be added to execute immediately all work related to
that lnum.

This was tested by outputting the vol_id and lnum during the schedule of
erasure. The ubi thread was disabled and two ubifs drives on separate
partitions repeated changed a small number of LEBs. The ubi module was readded,
and all the erased LEBs, corresponding to the volumes, were added to the
schedule erase queue.

Artem: minor tweaks

Signed-off-by: Joel Reardon <reardonj@inf.ethz.ch>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
drivers/mtd/ubi/eba.c
drivers/mtd/ubi/ubi.h
drivers/mtd/ubi/wl.c