[PATCH] UBI fails to initialise in kernel update marker
Peter Horton
zero at colonel-panic.org
Sun Jan 10 04:57:26 EST 2010
On 10/01/2010 09:42, Artem Bityutskiy wrote:
> On Tue, 2010-01-05 at 11:14 +0000, Peter Horton wrote:
>> The in kernel copy of a volume's update marker is not initialised from the
>> volume table.
>>
>> Signed-off-by: Peter Horton<zero at colonel-panic.org>
>>
>> --- linux-2.6.32.orig/drivers/mtd/ubi/vtbl.c 2010-01-05 10:56:13.000000000 +0000
>> +++ linux-2.6.32/drivers/mtd/ubi/vtbl.c 2010-01-05 10:57:03.000000000 +0000
>> @@ -566,6 +566,7 @@
>> vol->reserved_pebs = be32_to_cpu(vtbl[i].reserved_pebs);
>> vol->alignment = be32_to_cpu(vtbl[i].alignment);
>> vol->data_pad = be32_to_cpu(vtbl[i].data_pad);
>> + vol->upd_marker = vtbl[i].upd_marker;
>> vol->vol_type = vtbl[i].vol_type == UBI_VID_DYNAMIC ?
>> UBI_DYNAMIC_VOLUME : UBI_STATIC_VOLUME;
>> vol->name_len = be16_to_cpu(vtbl[i].name_len);
>
> Am I right that this means that whole "forbid using volume with
> unfinished update" functionality has not worked properly? Or I miss
> something? Looks like I should send this patch to -stable as well.
>
The in kernel update marker was always clear on reboot, regardless of
the flag in the volume table. Consequently reading from the volume
worked after a reboot even after a failed update.
P.
More information about the linux-mtd
mailing list