Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Btrfs snapshot support #20234

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jelly
Copy link
Member

@jelly jelly commented Mar 28, 2024

Show snapshots of a subvolume in the detail view.

image

@jelly jelly added the no-test For doc/workflow changes, or experiments which don't need a full CI run, label Mar 28, 2024
@jelly jelly mentioned this pull request Apr 3, 2024
@jelly
Copy link
Member Author

jelly commented Apr 3, 2024

@mvollmer I thought a bit on how we could implement filtering:

We could come up with a system where we don't have to hardcode the "filters" in but we could register filters for pages which want that.

register_filter(display_name, property_name)

This registers a filter which lives in pages.jsx, then we use these filter with property_name and filter_properties.

Alternatively, we just hardcode filters:

PAGE_FILTER_SNAPSHOT = 'snapshot'

Page/Card can have filter_properties which contains the key we are interested for with the value. State can come later.

I'm not thinking of introducing something like a filter component. But maybe it is interesting to have something usable.

@mvollmer
Copy link
Member

mvollmer commented Apr 4, 2024

@mvollmer I thought a bit on how we could implement filtering:

I think this is a bit too much machinery. Let's just do what we need, and nothing more.

@jelly
Copy link
Member Author

jelly commented Apr 4, 2024

Alright, after the discussion today in standup:

  • First pass, show snapshots under a subvolume
  • Second pass, hide snapshots

jelly added 3 commits May 23, 2024 15:55
In btrfs a snapshot is a subvolume with a parent_uuid field filled in
with the uuid of the subvolume of which the snapshot is made.

Note that btrfs allows one to make a snapshot of a snapshot.
Register crossrefs for snapshots so they show under snapshots in the
detail page of a subvolume.
@jelly
Copy link
Member Author

jelly commented May 23, 2024

@garrett question from @mvollmer did we decide on the design yet?

So my idea is:

  • Hide snapshots on the overview
  • List snapshots of a subvolume in the subvolume detail page.

@garrett
Copy link
Member

garrett commented May 23, 2024

@jelly: Yes, I think that's what we want. Good, simple summary.

I think we (you and/or @mvollmer and I) agreed on that a while ago somewhere? Perhaps in a video call? Perhaps in an issue? I don't remember where, but if we all agree on that, then that's great.

To restart: I definitely do not want them on the overview (and never have) and I think the details pages are the right places for the snapshots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-test For doc/workflow changes, or experiments which don't need a full CI run,
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants