]> www.infradead.org Git - mtd-utils.git/commitdiff
ubi-utils: update ubi-media.h
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Sun, 26 Jul 2009 13:40:04 +0000 (16:40 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Sun, 26 Jul 2009 13:40:04 +0000 (16:40 +0300)
Update the ubi-media.h file in order to add UBI sequence number
support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
include/mtd/ubi-media.h

index 007f9419b187fe56f8d15353a2bce0d44b53d696..08bec3ed96f0cbca1bb364df38a4c67246c410b7 100644 (file)
@@ -129,6 +129,7 @@ enum {
  * @ec: the erase counter
  * @vid_hdr_offset: where the VID header starts
  * @data_offset: where the user data start
+ * @image_seq: image sequence number
  * @padding2: reserved for future, zeroes
  * @hdr_crc: erase counter header CRC checksum
  *
@@ -144,6 +145,14 @@ enum {
  * volume identifier header and user data, relative to the beginning of the
  * physical eraseblock. These values have to be the same for all physical
  * eraseblocks.
+ *
+ * The @image_seq field is used to validate a UBI image that has been prepared
+ * for a UBI device. The @image_seq value can be any value, but it must be the
+ * same on all eraseblocks. UBI will ensure that all new erase counter headers
+ * also contain this value, and will check the value when scanning at start-up.
+ * One way to make use of @image_seq is to increase its value by one every time
+ * an image is flashed over an existing image, then, if the flashing does not
+ * complete, UBI will detect the error when scanning.
  */
 struct ubi_ec_hdr {
        __be32  magic;
@@ -152,7 +161,8 @@ struct ubi_ec_hdr {
        __be64  ec; /* Warning: the current limit is 31-bit anyway! */
        __be32  vid_hdr_offset;
        __be32  data_offset;
-       __u8    padding2[36];
+       __be32  image_seq;
+       __u8    padding2[32];
        __be32  hdr_crc;
 } __attribute__ ((packed));