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
Merged-In: I843b92c4a806c0b70dd6f95f3803674a3c6f7b81
Signed-off-by: Alistair Strachan <astrachan@google.com>
diff --git a/host/libs/vm_manager/cf_qemu.sh b/host/libs/vm_manager/cf_qemu.sh
index e037c3c..a5abd84 100755
--- a/host/libs/vm_manager/cf_qemu.sh
+++ b/host/libs/vm_manager/cf_qemu.sh
@@ -105,9 +105,9 @@
     -device "virtio-blk-pci,scsi=off,drive=drive-virtio-disk1,id=virtio-disk1"
     -drive "file=${cache_image_path:-${HOME}/cache.img},format=raw,if=none,id=drive-virtio-disk2,aio=threads"
     -device "virtio-blk-pci,scsi=off,drive=drive-virtio-disk2,id=virtio-disk2"
-    -drive "file=${vendor_image_path:-${HOME}/vendor.img},format=raw,if=none,id=drive-virtio-disk3,aio=threads"
+    -drive "file=${metadata_image_path:-${HOME}/metadata.img},format=raw,if=none,id=drive-virtio-disk3,aio=threads"
     -device "virtio-blk-pci,scsi=off,drive=drive-virtio-disk3,id=virtio-disk3"
-    -drive "file=${metadata_image_path:-${HOME}/metadata.img},format=raw,if=none,id=drive-virtio-disk4,aio=threads"
+    -drive "file=${vendor_image_path:-${HOME}/vendor.img},format=raw,if=none,id=drive-virtio-disk4,aio=threads"
     -device "virtio-blk-pci,scsi=off,drive=drive-virtio-disk4,id=virtio-disk4"
     -drive "file=${product_image_path:-${HOME}/product.img},format=raw,if=none,id=drive-virtio-disk5,aio=threads"
     -device "virtio-blk-pci,scsi=off,drive=drive-virtio-disk5,id=virtio-disk5"
diff --git a/host/libs/vm_manager/crosvm_manager.cpp b/host/libs/vm_manager/crosvm_manager.cpp
index f4243a7..2241b0e 100644
--- a/host/libs/vm_manager/crosvm_manager.cpp
+++ b/host/libs/vm_manager/crosvm_manager.cpp
@@ -78,8 +78,8 @@
   command.AddParameter("--rwdisk=", config_->system_image_path());
   command.AddParameter("--rwdisk=", config_->data_image_path());
   command.AddParameter("--rwdisk=", config_->cache_image_path());
-  command.AddParameter("--rwdisk=", config_->vendor_image_path());
   command.AddParameter("--rwdisk=", config_->metadata_image_path());
+  command.AddParameter("--rwdisk=", config_->vendor_image_path());
   command.AddParameter("--rwdisk=", config_->product_image_path());
   command.AddParameter("--socket=", GetControlSocketPath(config_));
   command.AddParameter("--android-fstab=", config_->gsi_fstab_path());