Skip to content

gofer: Support restore of deleted directories whose original path is occupied. #11843

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

copybara-service[bot]
Copy link

gofer: Support restore of deleted directories whose original path is occupied.

It is possible that the application can open an FD to a directory, delete the
directory, create another directory at that path and then checkpoint the
container. In such a scenario, our gofer restore logic will fail with EEXIST
because a directory already exists on the host at that location when we try to
recreate it.

Use a temporary filename to recreate the directory in such a scenario. This
directory is deleted again anyways.

This is similar to e3c4c4c ("gofer: Support restore of deleted files whose
original path is occupied.")

Updates #11425

…occupied.

It is possible that the application can open an FD to a directory, delete the
directory, create another directory at that path and then checkpoint the
container. In such a scenario, our gofer restore logic will fail with EEXIST
because a directory already exists on the host at that location when we try to
recreate it.

Use a temporary filename to recreate the directory in such a scenario. This
directory is deleted again anyways.

This is similar to e3c4c4c ("gofer: Support restore of deleted files whose
original path is occupied.")

Updates #11425

PiperOrigin-RevId: 775406486
@copybara-service copybara-service bot added the exported Issue was exported automatically label Jun 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exported Issue was exported automatically
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant