IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
so that people get to read a short description before viewing the
rather large full command and option synopsis.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
so one can set up jobs for guests with disks with the same name on different
storages. For example,
storageA:vm-123-disk-0
storageB:vm-123-disk-0
will be synced to
target/storageA/vm-123-disk-0
target/storageB/vm-123-disk-0
when the flag is specified.
The necessary parent file systems (one per storage ID) are created as needed.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
It's not possible to provide a false value. From the documentation for
GetOptionsFromArray:
The argument specification is optional. If omitted, the option is considered
boolean, a value of 1 will be assigned when the option is used on the
command line.
Make it clear that specifying the flag alone already enables it.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
by remembering the process via PID+start time+boot ID and checking for that
information in the new instance. If the old instance can't be found, the new
one will continue and register itself in the state.
After updating the pve-zsync package, if there is a waiting instance running the
old version, one more might be created, because there is no instance_id yet. But
the new instance will set the instance_id, which any later instance will see.
More importantly, if the state is wrongly 'waiting' or 'syncing', i.e.
because an instance was terminated before finishing, we don't abort anymore and
recover from the wrong state, thus fixing the bug.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
For an incremental sync you need the last_snap on both sides. The
call to the zfs list contains the snapshot. If the snapshot does not
exist, the command is returned with an error that we are catching.
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
Reviewed-By: Fabian Ebner <f.ebner@proxmox.com>
Tested-By: Fabian Ebner <f.ebner@proxmox.com>
There are two new checks that allow disabling a job while
it is 'syncing' or 'waiting'. Previously when sync finished
it would re-enable such a job involuntarily.
Disabling a 'waiting' job causes it to not sync anymore.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
A 'waiting' state is introduced and other 'waiting' and 'syncing'
instances of the same job are now detected by moving the check out
from the sync lock.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Previously inside sync we just called update_job directly, now
we make sure to read the latest verison of the job first.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This introduces a new locked() mechanism allowing to enclose locked
sections in a cleaner way. There's only two types of locks namely one
for state and cron (they are always read together and almost always
written together) and one for sync.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
this allows the config dir to be set on the destination target. this can
be useful if the default path in $CONFIG_PATH (/var/lib/pve-zsync) is not
persistent. the option is optional and falls back to $CONFIG_PATH if not
specified.
Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
our GetOPts definition of it does not defines a value, so use it as
boolean flag like 'verbose' and either pass ther param or not.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Add properties flag for including the properties in the send stream.
With the flag, we do not break the current behavior and give the user
who like to sync their properties the possibility to do so.
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
no need to make a call to ls if we just can check directly..
also remove a (possible problematic)
> my $foo = 'bar' if $boolean;
construct
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>