summaryrefslogtreecommitdiffstats
path: root/lib/thin
Commit message (Collapse)AuthorAgeFilesLines
* cleanup: drop unneeded included header filesZdenek Kabelac2012-08-231-2/+0
| | | | | This headers were not resolving anything used for compiled .c files. Remove unused util.c file.
* thin: fix condition for kernels without discardsZdenek Kabelac2012-08-091-2/+2
| | | | | Report warning if the kernel is not support given discards settings. (In this case the behavior is equal to IGNORE.)
* thin: default discards for old mda is IGNOREZdenek Kabelac2012-08-091-1/+1
| | | | | If the discard was not set in metadata, use IGNORE, as this is the equivalent behavior for this case.
* thin: fix recent commitsAlasdair G Kergon2012-08-071-11/+10
|
* thin: use discards as plural rather than singularAlasdair G Kergon2012-08-071-23/+23
| | | | Global change from --discard to --discards, as that feels more natural.
* thin: tidy thin discard codeAlasdair G Kergon2012-08-071-22/+13
| | | | | | | | | Always store discard setting in LV metadata. (Note that lvcreate_params doesn't yet use --discard to set the initial value.) Remove undocumented env var LVM_THIN_VERSION_MIN that has no use on a live system. Change verbose 'feature not found' messages to debug. Use discard_str for string value of discard.
* thin: add discard support for thin poolZdenek Kabelac2012-07-181-0/+44
| | | | | | | | 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
* thin: detect supported features from thinp targetZdenek Kabelac2012-07-181-1/+36
| | | | | Add shell variable to override reported min version for testing: LVM_THIN_VERSION_MIN
* Fix regression in thin monitoringZdenek Kabelac2012-03-201-42/+42
| | | | | | | Patch https://www.redhat.com/archives/lvm-devel/2012-February/msg00118.html removed initilization of thin volume monitoring, leaving it only for thin pool - but missed the code move part for monitoring of thin pools. Effectively making thin pools not monitorable.
* Purge remaining trim bits from codeZdenek Kabelac2012-03-021-1/+1
|
* Remove support for TRIM messageZdenek Kabelac2012-03-021-17/+0
| | | | | | It's been unsupporte for now - and it's not going to be implemented for thin pool kernel driver - so dropping appearence of TRIM from libdm and lvm.
* Revert free of allocated segtypeZdenek Kabelac2012-02-281-3/+2
| | | | | lvm_register_segtype takes ownership of segtype and call destructor for it in error path.
* Initialize monitoring support only for thin poolsZdenek Kabelac2012-02-151-1/+2
|
* Free allocated segment type in error pathZdenek Kabelac2012-01-251-1/+3
|
* Thin add messages only for activation treeZdenek Kabelac2012-01-251-0/+27
| | | | | | | | | | | | Extend lv_activate_opts with bool flag to know for which purpose dtree is created - and add message only for activation tree (since that's the only place that may send them). Extend validation check for thin snapshot creation and test whether active snapshot origin is suspended before its snapshot is created (useful in recover scenarios) - in this case also detect, whether transaction has been already completed and avoid such suspend check failure in that case.
* Comment cleanupsZdenek Kabelac2012-01-251-3/+3
| | | | | Move comment where it applies and remove unused attribe when the var is actually used.
* Use chunk_size consistently for thin_pool within LVM.Alasdair Kergon2012-01-241-9/+8
|
* Thin indent updateZdenek Kabelac2012-01-191-1/+1
|
* Thin add function to read thin volume percentZdenek Kabelac2012-01-191-0/+31
| | | | | | This value returns percentage of 'mapped' size compared with total LV size. (Without passed seg pointer it return highest mapped size - but it's not used yet.)
* Thin rename seg var pool_metadata_lv to metadata_lvZdenek Kabelac2012-01-191-3/+3
| | | | Better fits the code.
* Thin use consistentely metadataZdenek Kabelac2012-01-191-17/+14
| | | | | Do not shortcut to 'meta' and stay with 'metadata' Also matches kernel doc for dm API then.
* Thin add dmeventd supportZdenek Kabelac2011-12-211-16/+80
| | | | | This is basic version with still few unresolved issue mainly in case, when the pool resize is failing.
* Thin remove unused codeZdenek Kabelac2011-12-211-13/+0
|
* Thin rename internal thin pool segmentZdenek Kabelac2011-12-211-1/+1
| | | | | Use matching name as kernel target - useful when function like _percent is using this for validation.
* Add activation/use_linear_target enabled by default. (prajnoha)Alasdair Kergon2011-11-281-1/+3
| | | | | | | | | LVM metadata knows only of striped segments - not linear ones. The activation code detects segments with a single stripe and switches them to use the linear target. If the new lvm.conf setting is set to 0 (e.g. in a test script), this 'optimisation' is turned off.
* Thin remove unused defineZdenek Kabelac2011-11-121-2/+0
| | | | | | | Remove DM_THIN_ERROR_DEVICE_ID from API. Remove API warning. Drop code that was using DM_THIN_ERROR_DEVICE_ID (already commented) Remove debug message which slipped in through some previous commit.
* Thin send create_snap messageZdenek Kabelac2011-11-101-13/+5
| | | | | Start creating snapshots for real. Update test suite to check it happens.
* Thin supports snapshotsZdenek Kabelac2011-11-071-5/+5
| | | | | | | Full support for thin snapshots. Create and remove is supported. TODO: lvconvert support is not yes available.
* Add -tpool layer in activation treeZdenek Kabelac2011-11-031-4/+34
| | | | | | | | | | Let's put the overlay device over real thin pool device. So we can get the proper locking on cluster. Overwise the pool LV would be activate once implicitely and in other case explicitely, confusing locking mechanism. This patch make the activation of pool LV independent on activation of thin LV since they will both implicitely use real -thin pool device.
* Thin api change for passing message into libdmZdenek Kabelac2011-11-031-14/+16
| | | | | | Avoid exposing another struct to the libdm user and use only simple dm_tree_node_add_thin_pool_message with 2 overloaded uint64_t values.
* Thin clean using delete_id consitentlyZdenek Kabelac2011-11-031-3/+3
|
* Thin cleanupsZdenek Kabelac2011-10-301-3/+3
| | | | | | Fix/cleanup several error messages. Remove test for seg_is_thin which could never be true there. Replace (1<<24) with predefined constant.
* Thin output data_block_size via outsizeZdenek Kabelac2011-10-281-1/+2
| | | | Use outsize to get nice size hint.
* Consistently use metadata LV as the first in MDAZdenek Kabelac2011-10-221-14/+14
| | | | | Cosmetic cleanup. Mark LV as thin pool before calling attach_pool functions.
* Store transaction_id with created thin lvZdenek Kabelac2011-10-211-0/+4
| | | | So we know the creation history and this should be useful with vgcfgrestore.
* Thin pool now support chunk size as wellZdenek Kabelac2011-10-211-1/+1
| | | | | Use chunksize option to specify data_block_size for thin pool target. Drop low_water_mark to zero.
* Reindent codeZdenek Kabelac2011-10-201-33/+34
| | | | | Avoid 1 indent level and use check for empty list only for add of transaction_id message.
* Use const pointers in thin API were appropriateZdenek Kabelac2011-10-201-2/+2
|
* Print low_water_mark only when it has some valueZdenek Kabelac2011-10-201-2/+5
| | | | | | Do not expose low_water_mark in mda yet, if it has no use. We do not allow to be set via current lvm tool code. Usage needs to be clarified first.
* Add _BLOCK_ to defineZdenek Kabelac2011-10-201-2/+2
| | | | | | Use DM_THIN_MIN_DATA_BLOCK_SIZE and DM_THIN_MAX_DATA_BLOCK_SIZE to make it more obvious, for which this define is useful in thin API.
* Indent debug messageZdenek Kabelac2011-10-171-2/+4
|
* Message support for thin provisiongZdenek Kabelac2011-10-171-1/+141
| | | | | | | | | | | | | | | | | | 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.
* Reindent some thin functionsZdenek Kabelac2011-10-111-11/+13
|
* Add more validation to config parserZdenek Kabelac2011-10-061-0/+9
| | | | Do not leave it for vgvalidate().
* Transaction_id is property of thin_poolZdenek Kabelac2011-10-031-1/+1
| | | | | Remove Transaction_id from thin target. Store device_id for thin target.
* Add experimental code for activation of thinp targetsZdenek Kabelac2011-09-291-2/+68
| | | | | No dm messages yes - just a base functionality in the steps of other targets. For now usable only for debugging and tracing.
* lvcreate/remove thin_pool and thin volumes (--driverloaded n only)Alasdair Kergon2011-09-081-3/+14
|
* pool attach fns & more field renamingAlasdair Kergon2011-09-061-8/+17
|
* Convert data->poolZdenek Kabelac2011-09-061-7/+7
|
* add thin_manip.c like the other manip filesAlasdair Kergon2011-09-061-2/+4
| | | | | move basic lv_is_* to macros data_lv -> pool_lv - we decided to call it 'pool' everywhere now