also looking at this
test: qualify zero-byte host image write failures
#61
5 files
+50
-27
| @@ -645,9 +645,13 @@ EIO, sync and physical power-loss campaigns open. | ||
| 645 | 645 | |
| 646 | 646 | The opt-in [full-filesystem qualification](adr/0031-full-host-filesystem-fixture.md) |
| 647 | 647 | uses a separate private Linux mount namespace and a new bounded tmpfs for the |
| 648 | actual store, candidates and slots. It targets real ENOSPC during the image copy | |
| 649 | and SQLite failure-state persistence, then exercises explicit metadata recovery, | |
| 648 | actual store, candidates and slots. Separate cases leave either 1 MiB or zero | |
| 649 | free bytes after actual ENOSPC filling. They require exactly a 1 MiB authenticated | |
| 650 | prefix or an existing empty image file, with no runtime launch or health claim. | |
| 651 | Both target real ENOSPC during the image copy and SQLite failure-state | |
| 652 | persistence, then exercise explicit metadata recovery, | |
| 650 | 653 | exact-slot abandonment and a fresh host trial in new processes. Retained file |
| 651 | archives are copied and hashed before unmount. This additional campaign is in | |
| 652 | qualification; a local skip is not positive ENOSPC evidence. Physical-media, | |
| 653 | EDQUOT, EIO, sync and power-loss acceptance remain separate. | |
| 654 | archives are copied and hashed before unmount. CI executes both cases; a local | |
| 655 | skip is not positive ENOSPC evidence. Failure before any image bytes are written | |
| 656 | does not establish behavior for a write syscall that returns zero without an | |
| 657 | error. Physical-media, EDQUOT, EIO, sync and power-loss acceptance remain separate. | |