Skip to content

Conversation

@jrray
Copy link
Collaborator

@jrray jrray commented Dec 7, 2024

The goal is to make it so it is possible to open repo without creating the renders directory for the current user, in situations where that renders directory will not be used. Examples include when using fuse or when running spfs clean.

This introduces different flavors of a "render store" besides RenderStore that either represent a render store that hasn't been created yet (but can be) or the lack of a render store. Operations that don't require a render store can access the local repository without the renders directory being created.

WIP: The test suite passes1 with this code but it is unfinished.

Footnotes

  1. On my machine... A limitation of the test suite is that it uses the installed spfs binaries instead of the spfs code in the current branch.

@jrray jrray added the pr-chain This PR doesn't target the main branch, don't merge! label Dec 7, 2024
@jrray jrray self-assigned this Dec 7, 2024
@jrray jrray marked this pull request as draft December 7, 2024 02:08
@jrray jrray force-pushed the repo-renders-type-state branch from 8d8f699 to edf84c4 Compare December 10, 2024 02:22
@jrray
Copy link
Collaborator Author

jrray commented Dec 10, 2024

Tests are now passing legitimately (at least locally, with an spfs installed from this code). What's left besides general cleanup is creating some new tests that specifically exercise the desired outcome: not creating the renders directory if using fuse. I'm not sure if that is true yet with these changes but the framework for making it possible should be there.

@jrray jrray force-pushed the no-hard-links-for-dir-renders branch from 7ec8e8b to 51a8e45 Compare December 10, 2024 18:58
@jrray jrray force-pushed the repo-renders-type-state branch 5 times, most recently from 631cc72 to a367c0f Compare December 11, 2024 00:59
@jrray
Copy link
Collaborator Author

jrray commented Dec 11, 2024

Making progress but the behavior of spfs clean is not right yet (it currently skipping cleaning renders entirely). The existing tests via the fixture create a repo with RenderStore (pre-created renders) but spfs renders uses MaybeRenderStore, then the clean code treats this flavor as not having renders.

I'm trying to get it so spfs clean does clean any existing renders that are eligible without creating any new renders directories.

@jrray jrray linked an issue Dec 11, 2024 that may be closed by this pull request
@jrray jrray force-pushed the no-hard-links-for-dir-renders branch from 51a8e45 to 470ac8b Compare March 29, 2025 02:27
@jrray jrray force-pushed the repo-renders-type-state branch from 051f03e to 8140bae Compare March 29, 2025 02:28
jrray added 4 commits May 23, 2025 16:10
The goal is to make it so it is possible to open repo without creating
the renders directory for the current user, in situations where that
renders directory will not be used. Examples include when using fuse or
when running `spfs clean`.

This introduces different flavors of a "render store" besides
`RenderStore` that either represent a render store that hasn't been
created yet (but can be) or the lack of a render store. Operations that
don't require a render store can access the local repository without the
renders directory being created.

Signed-off-by: J Robert Ray <jrray@jrray.org>
Test that the renders directory is not created when using fuse.

Signed-off-by: J Robert Ray <jrray@jrray.org>
Expand the clean tests to test the multiple flavors of FS repo.

Signed-off-by: J Robert Ray <jrray@jrray.org>
Signed-off-by: J Robert Ray <jrray@jrray.org>
@jrray jrray force-pushed the repo-renders-type-state branch from 8140bae to e3cf272 Compare May 23, 2025 23:14
@jrray jrray force-pushed the no-hard-links-for-dir-renders branch from 470ac8b to 60add1c Compare May 23, 2025 23:14
Base automatically changed from no-hard-links-for-dir-renders to main May 23, 2025 23:28
@jrray jrray removed the pr-chain This PR doesn't target the main branch, don't merge! label May 23, 2025
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.

spfs clean fails if disk is full

2 participants