summaryrefslogtreecommitdiff
path: root/tools/pvmove_poll.c
Commit message (Collapse)AuthorAgeFilesLines
* cov: ensure NULL baton is not dereferencedZdenek Kabelac2023-05-061-1/+1
|
* backup: automatically store data on vg_unlockZdenek Kabelac2021-06-091-3/+0
| | | | | | | | | | Previously there have been necessary explicit call of backup (often either forgotten or over-used). With this patch the necessity to store backup is remember at vg_commit and once the VG is unlocked, the committed metadata are automatically store in backup file. This may possibly alter some printed messages from command when the backup is now taken later.
* pvmove: add missing synchronizationZdenek Kabelac2019-08-201-0/+2
| | | | | | Between 'resume' and 'remove' we need to wait for udev to synchronize, otherwise udev may 'skip' resume event processing if the udev node is already gone.
* pvmove: move code from tools to libZdenek Kabelac2017-12-011-5/+0
| | | | Move code manipulating with locking flags into /lib part of lvm.
* cleanup: update error messagesZdenek Kabelac2017-11-241-1/+1
| | | | | Correct printed lv names in error messages and add missing trace for return.
* pvmove: finish no longer needs explicit resumedZdenek Kabelac2017-11-241-17/+0
| | | | Activation code can see from holders needed LVs for resume.
* pvmove: change locking on finishZdenek Kabelac2017-11-151-34/+15
|
* cleanup: update log messagesZdenek Kabelac2017-11-151-1/+1
|
* cleanup: reuse existing functionZdenek Kabelac2016-12-111-32/+2
| | | | Call lv_update_and_reload implementation.
* pvmove: fix activation orderZdenek Kabelac2016-12-111-5/+5
| | | | | For proper locking we need to gain lock first for mirror which needs to be deactivated later to be working in cluster.
* doc: change fsf addressZdenek Kabelac2016-01-211-1/+1
| | | | | Hmm rpmlint suggest fsf is using a different address these days, so lets keep it up-to-date
* include: Standardise around new tool.h.Alasdair G Kergon2015-07-061-1/+2
|
* cleanup: drop extra test for NULLZdenek Kabelac2015-05-091-2/+1
| | | | vg cannot be NULL here - it's been already used in the code above.
* polldaemon: refactor polling interfacesOndrej Kozina2015-05-051-27/+0
| | | | | | | | | | | | | | | Routines responsible for polling of in-progress pvmove, snapshot merge or mirror conversion each used custom lookup functions to find vg and lv involved in polling. Especially pvmove used pvname to lookup pvmove in-progress. The future lvmpolld will poll each operation by vg/lv name (internally by lvid). Also there're plans to make pvmove able to move non-overlaping ranges of extents instead of single PVs as of now. This would also require to identify the opertion in different manner. The poll_operation_id structure together with daemon_parms structure they identify unambiguously the polling task.
* polldaemon: get get_copy_vg ready for refactoringOndrej Kozina2015-05-051-1/+2
| | | | | with refactored code we take some VG locks as read-only. Make the poll_get_copy_vg ready for the change.
* update copyright info in various filesOndrej Kozina2015-04-281-1/+2
| | | | | basically transfer former date ranges from files where the code originated from (pvmove.c and lvconvert.c)
* pvmove: split pvmove_update_metadata functionOndrej Kozina2015-04-011-140/+20
| | | | | | | | | | | | | | | | | | | So far pvmove_update_metadata (originaly _update_metadata) was used for both initial and subsequent metadata updates during polling. With a new polldaemon (lvmpolld) all operations that require polling have to be split in two parts: The initiating one and the polling one. The later step will be used from lvm command spawned by lvmpolld to monitor and advance the mirror on next segment if required. 1) The initiation part is _update_metadata in pvmove.c which performs only the first update, setting up the pvmove itself in metadata. 2) pvmove_update_metadata in pvmove_poll.c now handles all other subsequent metadata updates except the last one. Due to the split we could remove some code. Also some functions were moved back to pvmove.c as they were suited for initialisation of pvmove only.
* pvmove: move poll code in before refactoringOndrej Kozina2015-04-011-0/+341
This commit has no impact on functionality. Code required to be visible outside pvmove.c is just moved into new file pvmove_poll.c and some calls are made non-static and declared in new header file pvmove.h