Skip to content
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

Add support for unlink() #197

Closed
adammoody opened this issue Nov 9, 2018 · 1 comment
Closed

Add support for unlink() #197

adammoody opened this issue Nov 9, 2018 · 1 comment

Comments

@adammoody
Copy link
Collaborator

We need to be able to delete files. Currently calling unlink() is a NOP:

  • delete all index info associated with file
  • free storage in all superblocks (memory and spill over)

This is tricky in that with traditional parallel file systems, only one process must call unlink(). For us to match that behavior, the unlink() from a single client must send a message to the delegators, which must then reach into the superblock file structures on each client to free off storage resources. To do that, the delegator will need to lock the superblock for write access so it doesn't conflict with changes the client might be making.

@adammoody adammoody changed the title Add support unlink() Add support for unlink() Nov 9, 2018
@adammoody
Copy link
Collaborator Author

An alternative design that will simplify things is to restructure things so that the server manage the storage chunks. Writes from the client would then transfer data from client to server, and the server would write data. Reads would not be changed. This will enable the server to delete a file and free its storage without needing to share locks with the client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants