llnl / llnl/UnifyFS

Tracking laminated file state

Open
#328 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
122
Forks
34
PR merge metrics
No merged PRs in 30d

Description

In order to take advantage of lamination semantics, we first need to track the boolean state as to whether a file has been laminated. For example, this could be a new boolean field on the global file metadata.

Knowing whether a file is laminated will greatly assist in things like file size queries:

```
get_file_size() {
if (laminated)
return cached_file_size (cheap)
else
query key/value store for current max written offset (expensive)
}
```

We can also start to return errors on new writes.

To set the laminated property, we may need to define the unifycr_laminate function in our library.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the global file metadata and the library entry point for the proposed unifycr_laminate function. Trace how lamination state would affect get_file_size and new writes. Done means the boolean state is tracked consistently and the intended post-lamination behavior is covered by relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.