UBI: initialize static volumes with vol->used_bytes
authorJan Altenberg <jan.altenberg@linutronix.de>
Fri, 28 Mar 2008 15:13:53 +0000 (16:13 +0100)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Thu, 17 Apr 2008 08:32:02 +0000 (11:32 +0300)
I came across a problem which seems to be present since:

commit 941dfb07ed91451b1c58626a0d258dfdf468b593
UBI: set correct gluebi device size

ubi_create_gluebi() leaves mtd->size = 0 for static volumes. So even
existing static volumes are initialized with a size of 0.

Signed-off-by: Jan Altenberg <jan.altenberg@linutronix.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
drivers/mtd/ubi/gluebi.c

index d397219..e909b39 100644 (file)
@@ -291,11 +291,12 @@ int ubi_create_gluebi(struct ubi_device *ubi, struct ubi_volume *vol)
        /*
         * In case of dynamic volume, MTD device size is just volume size. In
         * case of a static volume the size is equivalent to the amount of data
-        * bytes, which is zero at this moment and will be changed after volume
-        * update.
+        * bytes.
         */
        if (vol->vol_type == UBI_DYNAMIC_VOLUME)
                mtd->size = vol->usable_leb_size * vol->reserved_pebs;
+       else
+               mtd->size = vol->used_bytes;
 
        if (add_mtd_device(mtd)) {
                ubi_err("cannot not add MTD device\n");