Design: Lamination while file is being written
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 122
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Describe the problem you're observing
Lets you have two nodes writing 100MB to a file at non-overlapping offsets. Node 1 finishes writing and does a laminate while node 2 is still writing its last 10MB. What should the behaviour be?
- node 2's last 10MB of writes return EINVAL?
- node 2's writes complete, and it can continue to write to the file until it's closed(). Effectively, this means that "is this file laminated?" is only checked on file open(), and the file is only "laminated and set in stone" after all writers close() the file.
- node 2's writes complete successfully, but they can't be read() since they happened after the lamination.
According to pg 6 in the docs (https://buildmedia.readthedocs.org/media/pdf/unifycr/dev/unifycr.pdf) after a lamination:
write: All writes are invalid.
...which sounds like it would be 1 or 3.
What behaviour do we expect?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the UnifyFS developer documentation linked in the issue, especially page 6 and its statement that writes after lamination are invalid. Review the concurrent-writer scenario described in the issue and determine which behavior is expected; done means the lamination semantics are decided and documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100