Giter VIP home page Giter VIP logo

Comments (5)

hadfl avatar hadfl commented on August 16, 2024

the whole point of having recursive=on is to have 'aligned' snapshots on all subdatasets (zfs snapshot -r ...). why would you want to override certain properties for subdatasets?

you can always set it up as non-recursive giving you all the flexibility.

maybe i didn't get your point. if so, you might give a specific use case?

from znapzend.

rottegift avatar rottegift commented on August 16, 2024

Actually, it's not so much the behaviour of recurisve as it is how children of a dataset are treated. I'd like inherited user properties to be obeyed and znapzend to recurse through children examining each child dataset's relevant user properties.

Here's the real case (a handful of datasets of which only one or two have different policies wrt znapzend than their parents or siblings):

:  smd ;  zfs list -r ssdpool
NAME                                        USED  AVAIL  REFER  MOUNTPOINT
ssdpool                                     204G  56.0G  3.96M  /Volumes/ssdpool
ssdpool/DATA                               37.0G  56.0G   704K  /Volumes/ssdpool/DATA
ssdpool/DATA/opt                           17.9G  56.0G  15.6G  /opt
ssdpool/DATA/squidcache                    19.1G  5.90G  16.9G  /Volumes/ssdpool/DATA/squidcache
ssdpool/VMWareVMs                          6.33G  41.7G  6.33G  /Users/smd/Documents/Virtual Machines
ssdpool/ZIL-FILES                           493M  9.52G   491M  /Volumes/ssdpool/ZIL-FILES
ssdpool/smd                                 155G  54.8G   146G  /Users/smd
ssdpool/smd/Library                        2.58G  54.8G   136K  none
ssdpool/smd/Library/Safari                  464M  54.8G   189M  /Users/smd/Library/Safari
ssdpool/smd/Library/SavedApplicationState  2.12G  54.8G   285M  /Users/smd/Library/Saved Application State
ssdpool/virtualBoxVMs                      1.85G  28.1G  1.85G  /Users/smd/VirtualBOX VMs
ssdpool/vms-1840                           1.98G  56.0G  7.76G  /Volumes/ssdpool/vms-1840
ssdpool  org.znapzend:src_plan       1days=>1hours,3days=>2hours,7days=>6hours,2weeks=>1days                      local
ssdpool  org.znapzend:dst_a          root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool                 local
ssdpool  org.znapzend:dst_a_plan     7days=>4hours,30days=>12hours,90days=>1days,1years=>1weeks,10years=>1months

ssdpool/ZIL-FILES  org.znapzend:src_plan       1days=>4hours
ssdpool/ZIL-FILES  org.znapzend:dst_a          root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool/ZIL-FILES

ssdpool/smd/Library/SavedApplicationState  org.znapzend:dst_a          [email protected]:OldStuff/CLA-TM/from_ssdpool/ssdpool/smd/Library/SavedApplicationState
ssdpool/smd/Library/SavedApplicationState  org.znapzend:src_plan       1days=>5minutes,3days=>1hours,7days=>2hours,2weeks=>1days
ssdpool/smd/Library/SavedApplicationState  org.znapzend:dst_a_plan     7days=>4hours,30days=>12hours,90days=>1days,1years=>1weeks,10years=>1months         
ssdpool/smd/Library/SavedApplicationState  org.znapzend:dst_a          root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool/smd/Library/SavedApplicationState            

ssdpool/DATA/squidcache  org.znapzend:src_plan       1days=>1hours,3days=>4hours,7days=>12hours
ssdpool/DATA/squidcache  org.znapzend:dst_a          root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool/DATA/squidcache
ssdpool/DATA/squidcache  org.znapzend:dst_a_plan     7days=>12hours

Everything else is essentially the same; the only way to do this seems to be to create (or import and edit) separately for each dataset. Small changes that affect all the datasets have to then be done programmatically. I'd rather take advantage of how User Properties are inherited and overridden, and just have znapzend pick up on it.

In particular, I have a couple of pools with hundreds of datasets and would run into the same problem: scores of sibling datasets which will not differ at all (modulo pairing dataset and dst) and a handful that will have slightly different src or dst plans. And possibly one or two with a second dst.

Another example is in the JNX code:

https://github.com/jollyjinx/ZFS-TimeMachine/blob/master/zfstimemachinebackup.perl#L48

from znapzend.

hadfl avatar hadfl commented on August 16, 2024

thanks, got it. :)

i'll put it on our roadmap

from znapzend.

znek avatar znek commented on August 16, 2024

I just tried znapzend and immediately stumbled across this as well. It's probably related to being used to zetaback before, as this allows suchs exceptions.

I get that this point is a misunderstanding and instead is driven by znapzend's design, however, I too have ~ 100 filesystems in a hierarchy containing a few transient filesystems (tmp and obj trees, which arguably could be moved elsewhere, but happen to be where they are for historicaly reasons), where the above proposal would come in very handy.

from znapzend.

stale avatar stale commented on August 16, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from znapzend.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.