Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

UBI: add layout volume information

Add more information about layout volume to make userspace tools
use the macros instead of constants. Also rename UBI_LAYOUT_VOL_ID
to make it consistent with other macros.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>

+10 -8
+1 -1
drivers/mtd/ubi/eba.c
··· 78 78 */ 79 79 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) 80 80 { 81 - if (vol_id == UBI_LAYOUT_VOL_ID) 81 + if (vol_id == UBI_LAYOUT_VOLUME_ID) 82 82 return UBI_LAYOUT_VOLUME_COMPAT; 83 83 return 0; 84 84 }
+1 -1
drivers/mtd/ubi/scan.c
··· 858 858 } 859 859 860 860 vol_id = be32_to_cpu(vidh->vol_id); 861 - if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOL_ID) { 861 + if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOLUME_ID) { 862 862 int lnum = be32_to_cpu(vidh->lnum); 863 863 864 864 /* Unsupported internal volume */
+5 -5
drivers/mtd/ubi/vtbl.c
··· 89 89 struct ubi_volume *layout_vol; 90 90 91 91 ubi_assert(idx >= 0 && idx < ubi->vtbl_slots); 92 - layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOL_ID)]; 92 + layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)]; 93 93 94 94 if (!vtbl_rec) 95 95 vtbl_rec = &empty_vtbl_record; ··· 269 269 * this volume table copy was found during scanning. It has to be wiped 270 270 * out. 271 271 */ 272 - sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOL_ID); 272 + sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOLUME_ID); 273 273 if (sv) 274 274 old_seb = ubi_scan_find_seb(sv, copy); 275 275 ··· 281 281 } 282 282 283 283 vid_hdr->vol_type = UBI_VID_DYNAMIC; 284 - vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOL_ID); 284 + vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOLUME_ID); 285 285 vid_hdr->compat = UBI_LAYOUT_VOLUME_COMPAT; 286 286 vid_hdr->data_size = vid_hdr->used_ebs = 287 287 vid_hdr->data_pad = cpu_to_be32(0); ··· 590 590 vol->last_eb_bytes = vol->reserved_pebs; 591 591 vol->used_bytes = 592 592 (long long)vol->used_ebs * (ubi->leb_size - vol->data_pad); 593 - vol->vol_id = UBI_LAYOUT_VOL_ID; 593 + vol->vol_id = UBI_LAYOUT_VOLUME_ID; 594 594 vol->ref_count = 1; 595 595 596 596 ubi_assert(!ubi->volumes[i]); ··· 743 743 ubi->vtbl_size = ubi->vtbl_slots * UBI_VTBL_RECORD_SIZE; 744 744 ubi->vtbl_size = ALIGN(ubi->vtbl_size, ubi->min_io_size); 745 745 746 - sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOL_ID); 746 + sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOLUME_ID); 747 747 if (!sv) { 748 748 /* 749 749 * No logical eraseblocks belonging to the layout volume were
+3 -1
include/mtd/ubi-header.h
··· 299 299 300 300 /* The layout volume contains the volume table */ 301 301 302 - #define UBI_LAYOUT_VOL_ID UBI_INTERNAL_VOL_START 302 + #define UBI_LAYOUT_VOLUME_ID UBI_INTERNAL_VOL_START 303 + #define UBI_LAYOUT_VOLUME_TYPE UBI_VID_DYNAMIC 304 + #define UBI_LAYOUT_VOLUME_ALIGN 1 303 305 #define UBI_LAYOUT_VOLUME_EBS 2 304 306 #define UBI_LAYOUT_VOLUME_NAME "layout volume" 305 307 #define UBI_LAYOUT_VOLUME_COMPAT UBI_COMPAT_REJECT