Repository navigation
fix: resume volume rebuild and confirm clone volume reuse - #55
Merged
Merged
Conversation
Volume-mode rebuild publishes a name index before delete and resumes when the container is gone and no helper exists. Clone prompts before deleting an existing workspace volume and does not clone over a kept tree.
Named-volume volume.img is raw ext4 and can be e2fsck'd in place only while unmounted. Structure needs cleaning on chown is EUCLEAN, not a chown-logic bug.
Those three verbs shared one cell, so their flags were not readable. Each command now has its own row.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Volume-mode rebuild can resume after the old container is deleted even when no recovery helper exists. Clone no longer deletes an existing workspace volume unless the operator chooses replace.
VolumeRecoveryResumepublishes an identity-only name index.rebuild --nameloads it oncontainerNotFound, reuses the stamped*-wsvolume, and refuses to create a blank one if that volume is missing. A listed marked helper still wins.clonepromptsWorkspace volume <name> already exists. Reuse it? [Y/n](empty/Y reuses;n/noreplaces; EOF aborts and does not delete).--reuse-volumeand--replace-volumechoose without prompting and cannot be combined. Non-TTY and--jsonfail closed and do not delete unless a flag is set.lost+foundalone is empty). A reused volume is never deleted, including on later failure. Replace is the previous delete-then-create.volume.imgis raw ext4 and can bee2fsck'd in place only while unmounted.Structure needs cleaningon chown is ext4EUCLEAN, not a chown-logic bug.Test plan
swift run adevcontainerTests— 1161 passed, 0 failed, 5 skipped*-wsvolume promptsReuse it? [Y/n]and does not delete on empty/Y or EOF;nreplaces--jsonre-clone without--reuse-volumeor--replace-volumefails closed and does not deleterebuild --nameafter the old volume-mode container is gone and no helper exists resumes the published session and reuses the stamped*-ws(does not create a blank workspace volume)