Skip to content

Conversation

@jorisdral
Copy link
Collaborator

No description provided.

@jorisdral jorisdral self-assigned this Nov 29, 2024
@jorisdral jorisdral force-pushed the jdral/hard-link-fsync branch from bf15f26 to 54039a9 Compare November 29, 2024 10:44
@jorisdral jorisdral force-pushed the jdral/hard-link-fsync branch 3 times, most recently from 50758a2 to 5ac2a02 Compare December 2, 2024 13:25
@jorisdral jorisdral marked this pull request as ready for review December 2, 2024 13:26
@jorisdral
Copy link
Collaborator Author

This PR is now ready for review. It's a single commit, since I didn't want to go through the trouble of making multiple commits build on Windows/MacOS as well. 😛 I've used GHA CI as my compiler for these distrbutions, and it took a bit of fiddling to get it all to compile

dcoutts
dcoutts previously requested changes Dec 2, 2024
Copy link
Collaborator

@dcoutts dcoutts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just some small queries and suggestions.

Might have been slightly easier to read if it'd been split into two: one to extend the blockio API, and then another to use it.

@jorisdral
Copy link
Collaborator Author

jorisdral commented Dec 3, 2024

Might have been slightly easier to read if it'd been split into two: one to extend the blockio API, and then another to use it.

Yeah, I was a little bit lazy there :P but I also didn't want to go through the trouble of using GHA CI as a compiler much more than necessary #482 (comment)

Copy link
Collaborator

@recursion-ninja recursion-ninja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📤 LGTM

@jorisdral jorisdral force-pushed the jdral/hard-link-fsync branch from 8a07a26 to 35eefbd Compare December 9, 2024 16:06
* Add two new `HasBlockIO` primitives for `fsync`, one for synchronising files,
  one for directories. These are separate, since we can not synchronise
  directories on `Windows`.

* Add one new `HasBlockIO` primitive for creating hard links.

* Add `IO` specialisations to `blockio-api`.

* Use the new `HasBlockIO` primitives in the snapshot implementation. Note that
  when we create a snapshot, that we make *both* the hard links and their parent
  directory (the named snapshot directory) durable.

Co-authored-by: Recursion Ninja <github@recursion.ninja>
@jorisdral jorisdral force-pushed the jdral/hard-link-fsync branch from 35eefbd to a6e28c7 Compare December 9, 2024 16:06
@jorisdral jorisdral enabled auto-merge December 9, 2024 16:26
@jorisdral jorisdral added this pull request to the merge queue Dec 9, 2024
Merged via the queue into main with commit 645248e Dec 9, 2024
27 checks passed
@jorisdral jorisdral deleted the jdral/hard-link-fsync branch December 9, 2024 17:40
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.

4 participants