summaryrefslogtreecommitdiffstats
path: root/lib/metadata/metadata-exported.h
Commit message (Collapse)AuthorAgeFilesLines
* cleanup: use proper activation_change_tZdenek Kabelac2012-08-231-1/+1
|
* mirror: reconfigure_mirror_images not usedPeter Rajnoha2012-08-151-0/+3
|
* thin: lvcreate --discardsZdenek Kabelac2012-08-091-0/+1
|
* thin: use discards as plural rather than singularAlasdair G Kergon2012-08-071-7/+7
| | | | Global change from --discard to --discards, as that feels more natural.
* thin: order discard enum alphabeticallyAlasdair G Kergon2012-08-071-2/+2
|
* thin: add discard support for thin poolZdenek Kabelac2012-07-181-0/+9
| | | | | | | | Add arg support for discard. Add discard ignore, nopassdown, passdown (=default) support. Flags could be set per pool. lvcreate [--discard {ignore|no_passdown|passdown}] vg/thinlv
* activate: add autoactivation hooksPeter Rajnoha2012-06-281-1/+2
| | | | | | | | | | | | | | | | Define an 'activation_handler' that gets called automatically on PV appearance/disappearance while processing the lvmetad_pv_found and lvmetad_pv_gone functions that are supposed to update the lvmetad state based on PV availability state. For now, the actual support is for PV appearance only, leaving room for PV disappearance support as well (which is a more complex problem to solve as this needs to count with possible device stack). Add a new activation change mode - CHANGE_AAY exposed as '--activate ay/-aay' argument ('activate automatically'). Factor out the vgchange activation functionality for use in other tools (like pvscan...).
* args: add --activate synonym for --available argPeter Rajnoha2012-06-281-5/+5
| | | | | | | | We're refererring to 'activation' all over the code and we're talking about 'LVs being activated' all the time so let's use 'activation/activate' everywhere for clarity and consistency (still providing the old 'available' keyword as a synonym for backward compatibility with existing environments).
* More comments on metadata area types.Peter Rajnoha2012-05-101-2/+5
|
* Comment on auxiliary metadata areas.Peter Rajnoha2012-05-101-2/+5
|
* The lvmetad client-side integration. Only active when use_lvmetad = 1 is set inPetr Rockai2012-02-231-0/+1
| | | | lvm.conf *and* lvmetad is running.
* Initialize dmeventd monitoring for every commandZdenek Kabelac2012-02-151-1/+0
| | | | | | | | | | Read lvm.conf setting for monitoring for each command. So we should not activate monitoring if the default compilation is set to monitor during lvconvert commnads. Patch also removes check for clustered VG and allows to disable monitoring for clustered VG with the assumption, the problem with monitoring and dmeventd flag passing for INGNORE is already fixed.
* FMT_INSTANCE_VG is redundant nowAlasdair Kergon2012-02-121-9/+4
|
* FMT_INSTANCE_PV is no longer usedAlasdair Kergon2012-02-121-4/+1
|
* Keep a global (per-format) orphan_vg and keep any and all orphan PVs linked toPetr Rockai2012-02-101-4/+2
| | | | | it. Avoids the need for FMT_INSTANCE_PV and enables further simplifications. No functional change, internal refactor only.
* Use chunk_size consistently for thin_pool within LVM.Alasdair Kergon2012-01-241-2/+2
|
* Thin rename seg var pool_metadata_lv to metadata_lvZdenek Kabelac2012-01-191-1/+1
| | | | Better fits the code.
* Do not allow users to change the name of RAID sub-LVs or the name of theJonathan Earl Brassow2011-12-011-0/+1
| | | | RAID LV if it is tracking changes for a split image.
* The LV_REBUILD flag is not internal - bad comments in metadata-exported.h ↵Jonathan Earl Brassow2011-11-301-1/+1
| | | | updated
* Support the ability to replace specific devices in a RAID array.Jonathan Earl Brassow2011-11-301-0/+4
| | | | | | | | | | | | | | | | | RAID is not like traditional LVM mirroring. LVM mirroring required failed devices to be removed or the logical volume would simply hang. RAID arrays can keep on running with failed devices. In fact, for RAID types other than RAID1, removing a device would mean substituting an error target or converting to a lower level RAID (e.g. RAID6 -> RAID5, or RAID4/5 to RAID0). Therefore, rather than removing a failed device unconditionally and potentially allocating a replacement, RAID allows the user to "replace" a device with a new one. This approach is a 1-step solution vs the current 2-step solution. example> lvconvert --replace <dev_to_remove> vg/lv [possible_replacement_PVs] '--replace' can be specified more than once. example> lvconvert --replace /dev/sdb1 --replace /dev/sdc1 vg/lv
* Thin supports poolmetadatasize settingZdenek Kabelac2011-11-041-0/+2
| | | | | Add option to set pool metadatasize. For passing size parameter reuse region_size.
* Thin removing unused detach_pool_messagesZdenek Kabelac2011-11-031-2/+0
|
* Thin genering update_pool_lv functionZdenek Kabelac2011-11-031-0/+2
| | | | | Function to trigger pool message passing via resume, or resize of the pool itself independently on other thins.
* Make detach_pool_message visible for toolsZdenek Kabelac2011-10-301-0/+2
| | | | Move there also vg_write and vg_commit.
* Thin pool activation changeZdenek Kabelac2011-10-281-0/+1
| | | | | | | | | | | To ensure we properly handle LV cluster locking - explicitely do not allow to change the availability of the thin pool that is in use for some thin LV. As soon as the thin volume is created the only way to activate pool is via implicit dependency. Ignore thinpool open count for lv/vgchange operations.
* Add last_segZdenek Kabelac2011-10-281-0/+1
| | | | | | Implement a function to return the last segment in a LV. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
* Store transaction_id with created thin lvZdenek Kabelac2011-10-211-1/+1
| | | | So we know the creation history and this should be useful with vgcfgrestore.
* Message support for thin provisiongZdenek Kabelac2011-10-171-0/+10
| | | | | | | | | | | | | | | | | | lvm part of messaging. Each message is now stored it's own thin pool section: message1 { create = lv } Messages are queued to thin pool dm target when this target is going to be resumed or used through some dependency. Currently 'delete' message are purely queued and processed with next thin pool resume operation (i.e. create_thin). WARNING - thin provisioning support is developmental code.
* Add the ability to convert LVs of "mirror" segtype to "raid1" segtype.Jonathan Earl Brassow2011-10-071-0/+2
| | | | | | | | | | | | | | | | | Example: ~> lvconvert --type raid1 vg/mirror_lv Steps to convert "mirror" to "raid1" 1) Allocate a RAID metadata LV for each mirror image from the same PVs on which they are located. 2) Clear the metadata LVs. This involves writing LVM metadata, so we don't change any aspects of the mirror LV before this so that the user can easily remove LVs from the failed convert attempt while retaining the original mirror. 3) Remove the mirror log, if it exists. 4) Add metadata LVs to mirror LV 5) Rename mirror sub-lvs (s/mimage/rimage/) 6) Change flags and segtype from mirror to raid1
* Add experimental code for activation of thinp targetsZdenek Kabelac2011-09-291-2/+4
| | | | | No dm messages yes - just a base functionality in the steps of other targets. For now usable only for debugging and tracing.
* Abort if _finish_pvmove suspend_lvs fails instead of cleaning up incompletely.Alasdair Kergon2011-09-271-1/+1
| | | | | Change suspend_lvs to call vg_revert internally. Change vg_revert to void and remove superfluous calls after failed vg_commit.
* LVM_WRITE and LVM_READ are 64bit constantsZdenek Kabelac2011-09-141-2/+2
| | | | | | Revert John patch, which fixed only 1 place where ~LVM_WRITE was in use and convert ommited LVM_READ/WRITE flags to 64bit constants as well. (Since both 'status' flags for LV and VG are 64bit.)
* Add 7th lv_attr char to show the related kernel target.Alasdair Kergon2011-09-081-0/+6
| | | | Add thin volume types to lv_attr.
* lvcreate/remove thin_pool and thin volumes (--driverloaded n only)Alasdair Kergon2011-09-081-3/+2
|
* Minor change for pv_create apiZdenek Kabelac2011-09-071-1/+1
| | | | Switch int to unsigned type.
* pool attach fns & more field renamingAlasdair Kergon2011-09-061-4/+8
|
* add thin_manip.c like the other manip filesAlasdair Kergon2011-09-061-3/+6
| | | | | move basic lv_is_* to macros data_lv -> pool_lv - we decided to call it 'pool' everywhere now
* Start using 64-bit status flags - most of the code already handles them.Alasdair Kergon2011-09-061-63/+63
| | | | | | tdata -> tpool remove commented out definitions from metadata.h formatting clean-ups
* lvcreate parsing for thin provisioning.Alasdair Kergon2011-09-061-3/+3
| | | | The rest is incomplete so this isn't usable yet.
* thin - hide unimplemented dso fn; remove duplicate origin_lv field; addAlasdair Kergon2011-08-261-2/+4
| | | | some lvcreate struct parms
* Initial code for read/write of thin metadata lv segmentsZdenek Kabelac2011-08-261-0/+7
|
* Add ability to merge back a RAID1 image that has been split w/ --trackchangesJonathan Earl Brassow2011-08-181-0/+1
| | | | Argument layout is very similar to the merge command for snapshots.
* Add the ability to split an image from the mirror and track changes.Jonathan Earl Brassow2011-08-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ~> lvconvert --splitmirrors 1 --trackchanges vg/lv The '--trackchanges' option allows a user the ability to use an image of a RAID1 array for the purposes of temporary read-only access. The image can be merged back into the array at a later time and only the blocks that have changed in the array since the split will be resync'ed. This operation can be thought of as a partial split. The image is never completely extracted from the array, in that the array reserves the position the device occupied and tracks the differences between the array and the split image via a bitmap. The image itself is rendered read-only and the name (<LV>_rimage_*) cannot be changed. The user can complete the split (permanently splitting the image from the array) by re-issuing the 'lvconvert' command without the '--trackchanges' argument and specifying the '--name' argument. ~> lvconvert --splitmirrors 1 --name my_split vg/lv Merging the tracked image back into the array is done with the '--merge' option (included in a follow-on patch). ~> lvconvert --merge vg/lv_rimage_<n> The internal mechanics of this are relatively simple. The 'raid' device- mapper target allows for the specification of an empty slot in an array via '- -'. This is what will be used if a partial activation of an array is ever required. (It would also be possible to use 'error' targets in place of the '- -'.) If a RAID image is found to be both read-only and visible, then it is considered separate from the array and '- -' is used to hold it's position in the array. So, all that needs to be done to temporarily split an image from the array /and/ cause the kernel target's bitmap to track (aka "mark") changes made is to make the specified image visible and read-only. To merge the device back into the array, the image needs to be returned to the read/write state of the top-level LV and made invisible.
* Add --splitmirrors support for RAID1 (1 image only)Jonathan Earl Brassow2011-08-181-0/+3
| | | | | | | | | Users already have the ability to split an image from an LV of "mirror" segtype. This patch extends that ability to LVs of "raid1" segtype. This patch only allows a single image to be split off, however. (The "mirror" segtype allows an arbitrary number of images to be split off. e.g. 4-way => 3-way/linear, 2-way/2-way, linear,3-way)
* Add ability to down-convert RAID1 arrays.Jonathan Earl Brassow2011-08-111-0/+7
| | | | Also, add some simple RAID tests to testsuite.
* Fix renaming of RAID logical volumes.Jonathan Earl Brassow2011-08-111-0/+1
| | | | | The function 'for_each_sub_lv', which rename uses, was not handling the RAID metadata areas. Thus, the metadata LVs were not being renamed.
* Replace free_vg with release_vgZdenek Kabelac2011-08-101-6/+0
| | | | | | | | Move the free_vg() to vg.c and replace free_vg with release_vg and make the _free_vg internal. Patch is needed for sharing VG in vginfo cache so the release_vg function name is a better fit here.
* Add basic RAID segment type(s) support.Jonathan Earl Brassow2011-08-021-1/+11
| | | | | | | | | | | | | Implementation described in doc/lvm2-raid.txt. Basic support includes: - ability to create RAID 1/4/5/6 arrays - ability to delete RAID arrays - ability to display RAID arrays Notable missing features (not included in this patch): - ability to clean-up/repair failures - ability to convert RAID segment types - ability to monitor RAID segment types
* Remove unused internal flag ACTIVATE_EXCL from the codeZdenek Kabelac2011-06-171-1/+0
|
* Major pvmove fix to issue ioctls in the correct order when multiple LVsAlasdair Kergon2011-06-111-0/+1
| | | | | | | | | | | are affected by the move. (Currently it's possible for I/O to become trapped between suspended devices amongst other problems. The current fix was selected so as to minimise the testing surface. I hope eventually to replace it with a cleaner one that extends the deptree code. Some lvconvert scenarios still suffer from related problems.