Re: [MTD] UBI: Per volume update marker

Artem Bityutskiy
2007-01-25T19:00:32Z

Hi Alexander,

On Wed, 2007-01-24 at 10:19 +0100, Alexander Schmidt wrote:
> I am currently implementing a per volume update marker for UBI.
> It would be nice to know if you are interested in this feature and if you
> have remarks about my concept.
>
> The main reason I see for implementing this feature is that the current update
> marker blocks updates to all volumes if the update marker is pending. So the
> user needs to interfere after an update has been interrupted. We saw this
> problem for example when mirroring volumes at boot time. Another point is
> that pending update markers on removed volumes are avoided. While reproducing
> this error case, i got some kernel panics from the current kernel.
>
> My suggestion to solve these problems is to include a per volume update marker
> in the volume table (both in ram and on flash), and to let the user perform
> updates on all volumes, while still marking volumes with pending update
> markers as corrupted to avoid reading of corrupted/incomplete data. In my
> first implementation, I used a free (marked as "padding") byte in the volume
> table and added the function "ubi_vmt_updvol()" to volmgmt.c. This function
> gets called by the functions for starting and finishing updates with the
> appropriate flags and sets or removes the update marker from the volume
> table.

The patch in general (did not look closely to the details) looks good
for me. But are you sure you want this patch? It was a requirement from
your team to implement the update marker. Note, your patch means that
the boot-loader needs to read and interpret the volume table which
increases its size.