Create_cow: Hash of target blocks should not be stored.

Target block hash was in-correctly getting added to map thereby
overriding the source-hash.

Bug: 299011882
Test: Flash Pixel 6 Pro from A->B and from B->A
Change-Id: Ib3887c29cd6b8f2abd50e932273a5cfc2a096bd5
Signed-off-by: Akilesh Kailash <akailash@google.com>
diff --git a/fs_mgr/libsnapshot/libsnapshot_cow/create_cow.cpp b/fs_mgr/libsnapshot/libsnapshot_cow/create_cow.cpp
index 4e07fe3..efb1035 100644
--- a/fs_mgr/libsnapshot/libsnapshot_cow/create_cow.cpp
+++ b/fs_mgr/libsnapshot/libsnapshot_cow/create_cow.cpp
@@ -240,9 +240,11 @@
             SHA256(bufptr, BLOCK_SZ, checksum);
             std::string hash = ToHexString(checksum, sizeof(checksum));
 
-            if (create_snapshot_patch_ && !WriteSnapshot(bufptr, blkindex, hash)) {
-                LOG(ERROR) << "WriteSnapshot failed for block: " << blkindex;
-                return false;
+            if (create_snapshot_patch_) {
+                if (!WriteSnapshot(bufptr, blkindex, hash)) {
+                    LOG(ERROR) << "WriteSnapshot failed for block: " << blkindex;
+                    return false;
+                }
             } else {
                 std::lock_guard<std::mutex> lock(source_block_hash_lock_);
                 {
@@ -256,7 +258,7 @@
             num_blocks -= 1;
         }
 
-        file_offset += (skip_blocks * kBlockSizeToRead);
+        file_offset += (skip_blocks * to_read);
         if (file_offset >= dev_sz) {
             break;
         }