Reorder vendor/metadata partitions

The vendor partition will be part of the dynamic partition block in a
future change; this means it won't appear as a regular block device.
In an ideal world, this would leave a "hole" in the vdX assignment from
Linux (i.e. vde would be skipped) but this is not possible and Linux
will always compact the identifiers. To work around this problem, ensure
that any future dynamic partitions are defined last, so when they do not
appear any longer, the non-dynamic partition names do not change.

Bug: 113175337
Change-Id: I843b92c4a806c0b70dd6f95f3803674a3c6f7b81
Signed-off-by: Alistair Strachan <astrachan@google.com>
diff --git a/shared/config/fstab.dtb b/shared/config/fstab.dtb
index a601807..4920a6c 100644
--- a/shared/config/fstab.dtb
+++ b/shared/config/fstab.dtb
@@ -1,5 +1,5 @@
 /dev/block/vdb /data ext4 nodev,noatime,nosuid,errors=panic wait,fileencryption=aes-256-xts:aes-256-cts
 /dev/block/vdc /cache ext4 nodev,noatime,nosuid,errors=panic wait
-/dev/block/vde /metadata ext4 nodev,noatime,nosuid,errors=panic wait,formattable
+/dev/block/vdd /metadata ext4 nodev,noatime,nosuid,errors=panic wait,formattable
 /dev/block/zram0 none swap defaults zramsize=75%
 /tmp /sdcard none defaults,bind recoveryonly
diff --git a/shared/config/fstab.initrd b/shared/config/fstab.initrd
index 08798dd..5ffe8a1 100644
--- a/shared/config/fstab.initrd
+++ b/shared/config/fstab.initrd
@@ -1,8 +1,8 @@
 /dev/block/vda /system ext4 noatime,ro,errors=panic wait
 /dev/block/vdb /data ext4 nodev,noatime,nosuid,errors=panic wait,fileencryption=aes-256-xts:aes-256-cts
 /dev/block/vdc /cache ext4 nodev,noatime,nosuid,errors=panic wait
-/dev/block/vdd /vendor ext4 noatime,ro,errors=panic wait
-/dev/block/vde /metadata ext4 nodev,noatime,nosuid,errors=panic wait,formattable
+/dev/block/vdd /metadata ext4 nodev,noatime,nosuid,errors=panic wait,formattable
+/dev/block/vde /vendor ext4 noatime,ro,errors=panic wait
 /dev/block/vdf /product ext4 noatime,ro,errors=panic wait
 /dev/block/zram0 none swap defaults zramsize=75%
 /tmp /sdcard none defaults,bind recoveryonly
diff --git a/shared/config/gsi.fstab b/shared/config/gsi.fstab
index 4e3f31a..76c902b 100644
--- a/shared/config/gsi.fstab
+++ b/shared/config/gsi.fstab
@@ -1,2 +1,2 @@
-/dev/block/vdd /vendor ext4 noatime,ro,errors=panic wait
+/dev/block/vde /vendor ext4 noatime,ro,errors=panic wait
 /dev/block/vdf /product ext4 noatime,ro,errors=panic wait
diff --git a/shared/config/initrd-root.dtb b/shared/config/initrd-root.dtb
index 7962e1b..d12be7e 100644
--- a/shared/config/initrd-root.dtb
+++ b/shared/config/initrd-root.dtb
Binary files differ
diff --git a/shared/config/initrd-root.dts b/shared/config/initrd-root.dts
index cb9e5ec..d27d76a 100644
--- a/shared/config/initrd-root.dts
+++ b/shared/config/initrd-root.dts
@@ -32,7 +32,7 @@
 
 				vendor {
 					compatible = "android,vendor";
-					dev = "/dev/block/vdd";
+					dev = "/dev/block/vde";
 					type = "ext4";
 					mnt_flags = "noatime,ro,errors=panic";
 					fsmgr_flags = "wait";
diff --git a/shared/config/system-root.dtb b/shared/config/system-root.dtb
index bae54d8..2ebd0d7 100644
--- a/shared/config/system-root.dtb
+++ b/shared/config/system-root.dtb
Binary files differ
diff --git a/shared/config/system-root.dts b/shared/config/system-root.dts
index 327a38c..db16f37 100644
--- a/shared/config/system-root.dts
+++ b/shared/config/system-root.dts
@@ -24,7 +24,7 @@
 				compatible = "android,fstab";
 				vendor {
 					compatible = "android,vendor";
-					dev = "/dev/block/vdd";
+					dev = "/dev/block/vde";
 					type = "ext4";
 					mnt_flags = "noatime,ro,errors=panic";
 					fsmgr_flags = "wait";
diff --git a/shared/sepolicy/file_contexts b/shared/sepolicy/file_contexts
index d206e3c..d58ec96 100644
--- a/shared/sepolicy/file_contexts
+++ b/shared/sepolicy/file_contexts
@@ -4,8 +4,9 @@
 /dev/block/vda  u:object_r:system_block_device:s0
 /dev/block/vdb  u:object_r:userdata_block_device:s0
 /dev/block/vdc  u:object_r:cache_block_device:s0
-/dev/block/vdd  u:object_r:system_block_device:s0
-/dev/block/vde  u:object_r:metadata_block_device:s0
+/dev/block/vdd  u:object_r:metadata_block_device:s0
+/dev/block/vde  u:object_r:system_block_device:s0
+/dev/block/vdf  u:object_r:system_block_device:s0
 /dev/block/zram0  u:object_r:swap_block_device:s0
 /dev/e2e_managed  u:object_r:region_e2e_test_device:s0
 /dev/e2e_manager  u:object_r:region_e2e_test_device:s0