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

switch to pathlib and improve type checking #65

Merged
merged 6 commits into from
Apr 9, 2024
Merged

switch to pathlib and improve type checking #65

merged 6 commits into from
Apr 9, 2024

Conversation

dhnasa
Copy link
Collaborator

@dhnasa dhnasa commented Mar 6, 2024

Related issue(s): -

  • Change is documented in changelog
  • support mixed backends
    It is now possible to open a revision with any (supported) backend type,
    instead of only supporting the current default backend.

  • use the same parent revision in source and backend
    The parent of a revision was previously selected independently of
    additional source constraints. This could result in a revision C having
    the parent B, but with a delta of A -> C applied by the source (e.g.
    the snapshot for B is missing).
    This did not cause any issues until now because ceph always includes
    the chunks of the delta B->C in A->C (even when A->B is the inverse of
    B->C), but we should not rely on this behaviour.

    The file source also gained the ability to select a trusted parent
    instead of falling back to a non-cow copy when a distrusted revision
    exists.

Security implications

Johann Bahl added 5 commits March 6, 2024 01:33
also add more typehints
It is now possible to open a revision with any (supported) backend type,
instead of only supporting the current default backend.
The parent of a revision was previously selected independently of
additional source constraints. This could result in a revision C having
the parent B, but with a delta of A -> C applied by the source (e.g.
the snapshot for B is missing).
This did not cause any issues until now because ceph always includes
the chunks of the delta B->C in A->C (even when A->B is the inverse of
B->C), but we should not rely on this behaviour.

The file source also gained the ability to select a trusted parent
instead of falling back to a non-cow copy when a distrusted revision
exists.
src/backy/backends/chunked/__init__.py Outdated Show resolved Hide resolved
src/backy/backends/chunked/__init__.py Outdated Show resolved Hide resolved
src/backy/backends/chunked/store.py Outdated Show resolved Hide resolved
src/backy/backends/chunked/store.py Show resolved Hide resolved
src/backy/backup.py Show resolved Hide resolved
src/backy/backends/chunked/chunk.py Show resolved Hide resolved
src/backy/backends/chunked/__init__.py Outdated Show resolved Hide resolved
src/backy/utils.py Show resolved Hide resolved
src/backy/utils.py Show resolved Hide resolved
src/backy/utils.py Outdated Show resolved Hide resolved
ctheune
ctheune previously approved these changes Apr 8, 2024
src/backy/backends/chunked/store.py Outdated Show resolved Hide resolved
src/backy/sources/ceph/source.py Outdated Show resolved Hide resolved
src/backy/sources/file.py Outdated Show resolved Hide resolved
src/backy/utils.py Show resolved Hide resolved
@ctheune ctheune merged commit bed3db5 into main Apr 9, 2024
3 checks passed
@ctheune ctheune deleted the pathlib branch April 9, 2024 09:57
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.

2 participants