update_engine: Add new operation codes for a to b operations

Add SOURCE_COPY and SOURCE_BSDIFF operations to protobuf. These
operations are for delta minor version 2 and their input is the source
partition instead of the target partition.

BUG=chromium:459363
TEST=`FEATURES=test emerge-link update_engine`

Change-Id: I2c5c83ab5063ff6ce7fc2ec8acfe809d9526b6da
Reviewed-on: https://chromium-review.googlesource.com/250951
Reviewed-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Allie Wood <alliewood@chromium.org>
Tested-by: Allie Wood <alliewood@chromium.org>
diff --git a/update_metadata.proto b/update_metadata.proto
index 1a8fd4b..923ea26 100644
--- a/update_metadata.proto
+++ b/update_metadata.proto
@@ -117,6 +117,9 @@
       REPLACE_BZ = 1;  // Replace destination extents w/ attached bzipped data
       MOVE = 2;  // Move source extents to destination extents
       BSDIFF = 3;  // The data is a bsdiff binary diff
+      // SOURCE_COPY and SOURCE_BSDIFF are only supported on minor version 2.
+      SOURCE_COPY = 4; // Copy from source to target partition
+      SOURCE_BSDIFF = 5; // Like BSDIFF, but read from source partition
     }
     required Type type = 1;
     // The offset into the delta file (after the protobuf)