Skip to content

Revise IoPolicy - #211

Closed
tpietzsch wants to merge 8 commits into
masterfrom
iopolicy
Closed

Revise IoPolicy#211
tpietzsch wants to merge 8 commits into
masterfrom
iopolicy

Conversation

@tpietzsch

Copy link
Copy Markdown
Collaborator

This PR makes IoPolicy an enum that just communicates the intented locking behaviour (STRICT, PERMISSIVE, UNSAFE). How exactly this is implemented is up to the backend.

For the FileSystemKeyValueAccess, the IoPolicy is simply to the FileKeyLockManager, then on to the FileLockState, and finally the ChannelLock, which actually implements the behaviour using FileLock (or not).

This mostly restores FileSystemKeyValueAccess to the state before IoPolicy. (But I took care to preserve unrelated changes such as elimination of the fileSystem field). Tests work again now, with all IoPolicy settings.

cmhulbert and others added 8 commits March 6, 2026 11:48
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
With respect to incorporating IoPolicy, the semantics of these methods
are not clear. (Did we not get a lock because locking is broken for the
file system, or because someone else already holds a write lock?)

These methods were only used in tests. For simplicity, we just remove
them for now.
Make IoPolicy an enum that just communicates the
intented locking behaviour (STRICT, PERMISSIVE,
UNSAFE). How exactly this is implemented is up to the backend.

For the FileSystemKeyValueAccess, the IoPolicy is
simply to the FileKeyLockManager, then on to the
FileLockState, and finally the ChannelLock, which
actually implements the behaviour using FileLock
(or not).
tpietzsch added a commit that referenced this pull request Mar 18, 2026
@cmhulbert

Copy link
Copy Markdown
Contributor

@tpietzsch based on our previous conversation, this PR can be closed for now, yes?

@tpietzsch

Copy link
Copy Markdown
Collaborator Author

Yes 👍
I'll be incorporating the relevant pieces into work on #209

@tpietzsch tpietzsch closed this Mar 19, 2026
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

Successfully merging this pull request may close these issues.

3 participants