Skip to content

feat(engine): DLE branching and pool data refreshing (#441)

Artyom Kartasov requested to merge 441-branching-rotation into dle-4-0

Description

  • move branch head to a new snapshot on the main branch
  • rewrite snapshot properties (relations, branches) on initialization
  • multiple snapshots on logical mode

Related issue

#441

Examples

Init

zfs list  -t snapshot -o name,dle:parent,dle:child,dle:branch,dle:root,dblab:datastateat -S dblab:datastateat 
NAME                                              DLE:PARENT                       DLE:CHILD                                         DLE:BRANCH  DLE:ROOT    DBLAB:DATASTATEAT
oldest5@snapshot_20230111094623                   -                                -                                                 -           -           20230111094623
oldest5@snapshot_20230111084622                   -                                -                                                 -           -           20230111084622
oldest5/001-branch/20230111080244@20230111080244  oldest5@snapshot_20230111071023  -                                                 001-branch  -           20230111080244
oldest5@snapshot_20230111071023                   -                                oldest5/001-branch/20230111080244@20230111080244  main        001-branch  20230111071023

$ zfs list  -t snapshot -o name,dle:parent,dle:child,dle:branch,dle:root,dblab:datastateat -S dblab:datastateat 
NAME                                              DLE:PARENT                       DLE:CHILD                                         DLE:BRANCH  DLE:ROOT    DBLAB:DATASTATEAT
oldest5@snapshot_20230111094623                   -                                oldest5@snapshot_20230111084622                   main        -           20230111094623
oldest5@snapshot_20230111084622                   oldest5@snapshot_20230111094623  oldest5@snapshot_20230111071023                   -           -           20230111084622
oldest5/001-branch/20230111080244@20230111080244  oldest5@snapshot_20230111071023  -                                                 001-branch  -           20230111080244
oldest5@snapshot_20230111071023                   oldest5@snapshot_20230111084622  oldest5/001-branch/20230111080244@20230111080244  -           001-branch  20230111071023

New snapshot

$ zfs list  -t snapshot -o name,dle:parent,dle:child,dle:branch,dle:root,dblab:datastateat -S dblab:datastateat 
NAME                                              DLE:PARENT                       DLE:CHILD                                         DLE:BRANCH  DLE:ROOT    DBLAB:DATASTATEAT
oldest5@snapshot_20230111162622                   -                                oldest5@snapshot_20230111094623                   main        -           20230111162622
oldest5@snapshot_20230111094623                   oldest5@snapshot_20230111162622  oldest5@snapshot_20230111084622                   -           -           20230111094623
oldest5@snapshot_20230111084622                   oldest5@snapshot_20230111094623  oldest5@snapshot_20230111071023                   -           -           20230111084622
oldest5/001-branch/20230111080244@20230111080244  oldest5@snapshot_20230111071023  -                                                 001-branch  -           20230111080244
oldest5@snapshot_20230111071023                   oldest5@snapshot_20230111084622  oldest5/001-branch/20230111080244@20230111080244  -           001-branch  20230111071023

Checklist

  • MR description has been reviewed
  • MR changes are functionally tested
  • MR does NOT have API/CLI changes OR there are API/CLI changes and they have been reviewed & DOCS ARE ADJUSTED (reference doc, etc)
  • MR does NOT have UI changes OR there are UI changes and they have been reviewed & UX IS REVIEWED

Closes #441

Edited by Artyom Kartasov

Merge request reports