:: commit b1422f56921462e6494b6254bb9b1da6ee7e42cd

Mintsuki <mintsuki@protonmail.com> — 2025-08-06 16:23

parents: 47667c34f4

drivers/disk: EFI: Attempt to restore original data to volume even after a write failure

See #525
diff --git a/common/drivers/disk.s2.c b/common/drivers/disk.s2.c
index 28c94048..7d83614f 100644
--- a/common/drivers/disk.s2.c
+++ b/common/drivers/disk.s2.c
@@ -490,6 +490,9 @@ fallback:;
     *(uint64_t *)unique_sector_pool = signature;
     status = block_io->WriteBlocks(block_io, block_io->Media->MediaId, 0, 4096, unique_sector_pool);
     if (status) {
+        // Attempt to restore anyways, just in case.
+        *(uint64_t *)unique_sector_pool = orig;
+        block_io->WriteBlocks(block_io, block_io->Media->MediaId, 0, 4096, unique_sector_pool);
         return NULL;
     }
 
tab: 248 wrap: offon