aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-02-14 13:36:54 +0200
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-03-08 10:12:48 +0200
commitf43ec882b8b65de0ebde2e1ad52e8de0349d83ae (patch)
tree6d71ba08bf9069c354a01a2b2e78ea867bab604a
parent30b542ef453e6832ff682170b2db95d7bca2fe70 (diff)
downloadkernel_samsung_smdk4412-f43ec882b8b65de0ebde2e1ad52e8de0349d83ae.tar.gz
kernel_samsung_smdk4412-f43ec882b8b65de0ebde2e1ad52e8de0349d83ae.tar.bz2
kernel_samsung_smdk4412-f43ec882b8b65de0ebde2e1ad52e8de0349d83ae.zip
UBI: provide LEB offset information
Provide the LEB offset information in the UBI device information data structure. This piece of information is required by UBIFS to find out what are the LEB offsets which are aligned to the max. write size. If LEB offset not aligned to max. write size, then UBIFS has to take this into account to write more optimally. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--drivers/mtd/ubi/kapi.c1
-rw-r--r--include/linux/mtd/ubi.h3
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/ubi/kapi.c b/drivers/mtd/ubi/kapi.c
index 701df4f848f..d39716e5b20 100644
--- a/drivers/mtd/ubi/kapi.c
+++ b/drivers/mtd/ubi/kapi.c
@@ -40,6 +40,7 @@ void ubi_do_get_device_info(struct ubi_device *ubi, struct ubi_device_info *di)
{
di->ubi_num = ubi->ubi_num;
di->leb_size = ubi->leb_size;
+ di->leb_start = ubi->leb_start;
di->min_io_size = ubi->min_io_size;
di->max_write_size = ubi->max_write_size;
di->ro_mode = ubi->ro_mode;
diff --git a/include/linux/mtd/ubi.h b/include/linux/mtd/ubi.h
index 36c70593ae6..84854edf443 100644
--- a/include/linux/mtd/ubi.h
+++ b/include/linux/mtd/ubi.h
@@ -116,6 +116,8 @@ struct ubi_volume_info {
* struct ubi_device_info - UBI device description data structure.
* @ubi_num: ubi device number
* @leb_size: logical eraseblock size on this UBI device
+ * @leb_start: starting offset of logical eraseblocks within physical
+ * eraseblocks
* @min_io_size: minimal I/O unit size
* @max_write_size: maximum amount of bytes the underlying flash can write at a
* time (MTD write buffer size)
@@ -145,6 +147,7 @@ struct ubi_volume_info {
struct ubi_device_info {
int ubi_num;
int leb_size;
+ int leb_start;
int min_io_size;
int max_write_size;
int ro_mode;