]> sourceware.org Git - lvm2.git/log
lvm2.git
10 years agoWHATS_NEW: '_' -> ','
Peter Rajnoha [Tue, 11 Nov 2014 12:27:34 +0000 (13:27 +0100)]
WHATS_NEW: '_' -> ','

10 years agoreport: add cache device status fields
Peter Rajnoha [Fri, 24 Oct 2014 11:39:56 +0000 (13:39 +0200)]
report: add cache device status fields

New reporting fields related to cache device status:
  - cache_total_blocks
  - cache_used_blocks
  - cache_dirty_blocks
  - cache_read_hits
  - cache_read_misses
  - cache_write_hits
  - cache_write_misses

10 years agodev_manager: enhance dev_manager_info to acquire LV segment status if requested,...
Peter Rajnoha [Tue, 4 Nov 2014 14:00:32 +0000 (15:00 +0100)]
dev_manager: enhance dev_manager_info to acquire LV segment status if requested, add lv_info_with_seg_status fn

10 years agoreport: add new LVSSTATUS and SEGSSTATUS report type
Peter Rajnoha [Tue, 21 Oct 2014 10:01:57 +0000 (12:01 +0200)]
report: add new LVSSTATUS and SEGSSTATUS report type

Similar to LVSINFO type which gathers LV + its DM_DEVICE_INFO, the
new LVSSTATUS/SEGSSTATUS report type will gather LV/segment + its
DM_DEVICE_STATUS.

Since we can report status only for certain segment, in case
of LVSSTATUS we need to choose which segment related to the LV
should be processed that represents the "LV status". In case of
SEGSSTATUS type it's clear - the status is reported for the
segment just processed.

10 years agorefactor: rename struct lv_with_info used in reporting code to lv_with_info_and_seg_s...
Peter Rajnoha [Mon, 20 Oct 2014 11:46:50 +0000 (13:46 +0200)]
refactor: rename struct lv_with_info used in reporting code to lv_with_info_and_seg_status

The former struct lv_with_info is renamed to lv_with_info_and_seg_status as it can
hold more than just "info", there's lv's segment status now in addition:

struct lv_with_info_and_seg_status {
struct logical_volume *lv;
struct lvinfo *info;
struct lv_seg_status *seg_status;
}

Where struct lv_seg_status is:

struct lv_seg_status {
struct dm_pool *mem;
struct lv_segment lv_seg;
lv_seg_status_type_t type;
void *status; /* struct dm_status_* */
}

Where lv_seg points to lv's segment that is being reported or
processed in general.

New struct lv_seg_status keeps the information about segment status -
the status retrieved via DM_DEVICE_STATUS ioctl. This information will
be used for reporting dm device target status for the LV segment
specified.

So this patch introduces third level of LV information that is
kept for reuse while reporting fields within one reporting line,
causing only one DM_DEVICE_STATUS ioctl call per LV segment line
reported (otherwise we'd need to call the DM_DEVICE_STATUS for each
segment status field in one LV segment/reporting line which is not
efficient).

This is following exactly the same principle as already introduced
by commit ecb2be5d1642aa0142d216f9e52f64fd3e8c3fc8.

So currently we have three levels of information that can be used
to report an LV/LV segment:

    - LV metadata itself (struct logical_volume *lv)

    - LV's DM_DEVICE_INFO ioctl result (struct lvinfo *info)

    - LV's segment DM_DEVICE_STATUS ioctl result (this status must be
      bound to a segment, not the whole LV as the whole LV may be
      composed of several segments of course)
      (this is the new struct lv_seg_status *seg_status)

10 years agolibdm: still better API
Zdenek Kabelac [Mon, 10 Nov 2014 22:41:03 +0000 (23:41 +0100)]
libdm: still better API

Do not use 'any' policy name as a value in config tree - so we stick
with 'policy_settings' and extra 'policy_name' for libdm params.

Update lvm2 API as well.

Example of supported metadata:

 policy = "mq"
 policy_settings {
      migration_threshold = 2048
      sequential_threshold = 512
      random_threshold = 4
      read_promote_adjustment = 10
 }

10 years agodev_manager: workaround to allow top-level _tmeta, _tdata
Zdenek Kabelac [Mon, 10 Nov 2014 23:50:13 +0000 (00:50 +0100)]
dev_manager: workaround to allow top-level _tmeta, _tdata

10 years agomirror: layer remove doesn't work properly with mirrors
Zdenek Kabelac [Mon, 10 Nov 2014 21:32:43 +0000 (22:32 +0100)]
mirror: layer remove doesn't work properly with mirrors

10 years agotests: reach cache params
Zdenek Kabelac [Mon, 10 Nov 2014 20:29:20 +0000 (21:29 +0100)]
tests: reach cache params

10 years agotests: cache snapshot
Zdenek Kabelac [Tue, 4 Nov 2014 22:24:56 +0000 (23:24 +0100)]
tests: cache snapshot

10 years agodebug: log tree type is created
Zdenek Kabelac [Sat, 8 Nov 2014 22:41:22 +0000 (23:41 +0100)]
debug: log tree type is created

Print tree type and use internal_error for unknown type.

10 years agocleanup: gcc warnings
Zdenek Kabelac [Sat, 8 Nov 2014 14:33:17 +0000 (15:33 +0100)]
cleanup: gcc warnings

10 years agocleanup: indents comments backtraces
Zdenek Kabelac [Thu, 6 Nov 2014 19:36:53 +0000 (20:36 +0100)]
cleanup: indents comments backtraces

10 years agocleanup: use chunk_size directly
Zdenek Kabelac [Sun, 9 Nov 2014 17:55:42 +0000 (18:55 +0100)]
cleanup: use chunk_size directly

10 years agocache: use LV_PENDING_DELETE
Zdenek Kabelac [Mon, 10 Nov 2014 09:56:43 +0000 (10:56 +0100)]
cache: use LV_PENDING_DELETE

10 years agocache: _corig has UUID suffix
Zdenek Kabelac [Tue, 4 Nov 2014 22:19:34 +0000 (23:19 +0100)]
cache: _corig has UUID suffix

Use -real suffix for cache origin device.

10 years agocache: option
Zdenek Kabelac [Mon, 10 Nov 2014 09:07:41 +0000 (10:07 +0100)]
cache: option

10 years agoman: _corig is reserved
Zdenek Kabelac [Sat, 8 Nov 2014 12:16:35 +0000 (13:16 +0100)]
man: _corig is reserved

10 years agocache: new API for libdm
Zdenek Kabelac [Sun, 9 Nov 2014 19:18:00 +0000 (20:18 +0100)]
cache: new API for libdm

10 years agolibdm: tunning cache API
Zdenek Kabelac [Sat, 8 Nov 2014 22:20:25 +0000 (23:20 +0100)]
libdm: tunning cache API

Support new PASSTHROUGH 'feature' flag.

Add dm_config_node to pass in policy args.

Really use origin_uuid instead of using extra call
to pass seg_areas.

Switch to 64bit feature flag bit set so there is
enough space in future for new bits...

10 years agocleanup: cache API get/set
Zdenek Kabelac [Sun, 9 Nov 2014 17:51:56 +0000 (18:51 +0100)]
cleanup: cache API get/set

10 years agocleanup: API get/set fixes
Zdenek Kabelac [Sat, 8 Nov 2014 00:28:38 +0000 (01:28 +0100)]
cleanup: API get/set fixes

10 years agoreport: for cache LV report chunksize
Zdenek Kabelac [Mon, 10 Nov 2014 20:29:32 +0000 (21:29 +0100)]
report: for cache LV report chunksize

Cache LV reports chunksize via cache-pool.

10 years agosnapshot: virtual save commit
Zdenek Kabelac [Wed, 5 Nov 2014 14:15:07 +0000 (15:15 +0100)]
snapshot: virtual save commit

More efficient spare volume creation. Save 1 extra commit
and properly activate this volume according to our cluster
activation rules (using lv_active_change() for this).

10 years agolv_manip: remove_layer_from_lv restore lv name
Zdenek Kabelac [Sun, 9 Nov 2014 18:48:39 +0000 (19:48 +0100)]
lv_manip: remove_layer_from_lv restore lv name

Since we 'layer' for cache origin which and we support dropping
cache layer - we need to restore origin name in case
the origin LV is more complex target  - i.e. raid.

Drop _corig from name

Cleanup and rename parent -> parent_lv.

10 years agolvremove: few more validation before archive
Zdenek Kabelac [Sat, 8 Nov 2014 22:15:15 +0000 (23:15 +0100)]
lvremove: few more validation before archive

Before we finally call archive, we still can do a few more validation
without modifying VG. So delay archive() call few lines.

10 years agosegtype: add SEG_ONLY_EXCLUSIVE flag
Zdenek Kabelac [Mon, 10 Nov 2014 17:44:37 +0000 (18:44 +0100)]
segtype: add SEG_ONLY_EXCLUSIVE flag

Mark segtypes which do require exclusive activation in cluster.r

10 years agodmeventd: time scaling for status retry
Zdenek Kabelac [Sat, 8 Nov 2014 00:29:01 +0000 (01:29 +0100)]
dmeventd: time scaling for status retry

In normal case it's too slow to wait 1 second for default.
So rather start with short time and increase sleep between status
retesting.

10 years agoraid: fix activation order
Zdenek Kabelac [Mon, 10 Nov 2014 21:04:44 +0000 (22:04 +0100)]
raid: fix activation order

Cannot 'activate' volumes in suspend state and we need to use
lock holding LV for suspend/resume.

10 years agocache: used cache-pool becomes invisible
Zdenek Kabelac [Sun, 9 Nov 2014 20:04:33 +0000 (21:04 +0100)]
cache: used cache-pool becomes invisible

While cache-pool is in use - it is considered invisible.

10 years agopools: prompt only when metadata lv exists
Zdenek Kabelac [Sat, 8 Nov 2014 12:53:13 +0000 (13:53 +0100)]
pools: prompt only when metadata lv exists

If the VG has no pool metadata volume, don't prompt about
removal of _pmspare.

10 years agopools: after fail of vg_write no restore
Zdenek Kabelac [Wed, 5 Nov 2014 19:27:51 +0000 (20:27 +0100)]
pools: after fail of vg_write no restore

Revert part of commit 51a29e60564d537,
it's probably bad idea to continue with any recovery, when
vg_write() or vg_commit() fail - so it's better to leave it as it is.

10 years agocleanup: avoid dm_list size calc in common path
Zdenek Kabelac [Tue, 4 Nov 2014 22:06:21 +0000 (23:06 +0100)]
cleanup: avoid dm_list size calc in common path

Calculate dm_list_size only when there is not just a single
ont segment in list - so it's only counted on error path.

10 years agoactivate: check all snap segs are inactive
Zdenek Kabelac [Wed, 5 Nov 2014 10:53:11 +0000 (11:53 +0100)]
activate: check all snap segs are inactive

When deactivating origin, we may have possibly left table in broken state,
where origin is not active, but snapshot volume is still present.

Let's ensure deactivation of origin detects also all associated
snapshots are inactive - otherwise do not skip deactivation.
(so i.e. 'vgchange -an' would detect errors)

10 years agolv: lv_active_change add needs_exclusive flag
Zdenek Kabelac [Wed, 5 Nov 2014 14:14:58 +0000 (15:14 +0100)]
lv: lv_active_change add needs_exclusive flag

Let's use this function for more activations in the code.

'needs_exlusive' will enforce exlusive type for any given LV.

We may want to activate LV in exlusive mode, even when we know
the LV (as is) supports non-exlusive activation as well.

lvcreate -ay   -> exclusive & local
lvcreate -aay  -> exclusive & local
lvcreate -aly  -> exclusive & local
lvcreate -aey  -> exclusive  (might be on any node).

10 years agosnapshot: no snapshot of any cache type LVs
Zdenek Kabelac [Tue, 4 Nov 2014 22:21:07 +0000 (23:21 +0100)]
snapshot: no snapshot of any cache type LVs

Unsupported as of now.

10 years agocleanup: keep 'fall through' switch case for LVSINFO for compiler to understand this...
Peter Rajnoha [Wed, 5 Nov 2014 09:46:52 +0000 (10:46 +0100)]
cleanup: keep 'fall through' switch case for LVSINFO for compiler to understand this properly

10 years agoreport: cleanup: simplify LVSINFO detection
Peter Rajnoha [Wed, 5 Nov 2014 09:35:38 +0000 (10:35 +0100)]
report: cleanup: simplify LVSINFO detection

LVSINFO is just a subtype of LVS report type with extra "info" ioctl
called for each LV reported (per output line) so include its processing
within "case LVS" switch, not as completely different kind of reporting
which may be misleading when reading the code.

There's already the "lv_info_needed" flag set in the _report fn, so
call the approriate reporting function based on this flag within the
"case LVS" switch line.

Actually the same is already done for LV is reported per segments
within the "case SEGS" switch line. So this patch makes the code more
consistent so it's processed the same way for all cases.

Also, this is a preparation for another and new subtype that will
be introduced later - the "LVSSTATUS" and "SEGSSTATUS" report type.

10 years agodmeventd: Add basic thread debugging messages.
Alasdair G Kergon [Tue, 4 Nov 2014 18:56:20 +0000 (18:56 +0000)]
dmeventd: Add basic thread debugging messages.

Only with -DDEBUG.

10 years agodmeventd: Include shutdown threads in responses.
Alasdair G Kergon [Tue, 4 Nov 2014 16:58:14 +0000 (16:58 +0000)]
dmeventd: Include shutdown threads in responses.

When responding to DM_EVENT_CMD_GET_REGISTERED_DEVICE no longer
ignore threads that have already been unregistered but which
are still present.

This means the caller can unregister a device and poll dmeventd
to ensure the monitoring thread has gone away before removing
the device.  If a device was registered and unregistered in quick
succession and then removed, WAITEVENT could run in parallel with
the REMOVE.

Threads are moved to the _thread_registry_unused list when they
are unregistered.

10 years agodmeventd: Remove redundant checks.
Alasdair G Kergon [Tue, 4 Nov 2014 16:55:42 +0000 (16:55 +0000)]
dmeventd: Remove redundant checks.

The status of threads in _thread_registry is always DM_THREAD_RUNNING
(zero).

DM_EVENT_REGISTRATION_PENDING is never stored in thread->events.

10 years agotests: duplicate update of config
Zdenek Kabelac [Tue, 4 Nov 2014 14:07:40 +0000 (15:07 +0100)]
tests: duplicate update of config

10 years agothin: new pool is activated without overlay
Zdenek Kabelac [Tue, 4 Nov 2014 09:33:35 +0000 (10:33 +0100)]
thin: new pool is activated without overlay

Activate of new/unused/empty thin pool volume skips
the 'overlay' part and directly provides 'visible' thin-pool LV to the user.

Such thin pool still gets 'private' -tpool UUID suffix for easier
udev detection of protected lvm2 devices, and also gets udev flags to
avoid any scan.

Such pool device is 'public' LV with regular /dev/vgname/poolname link,
but it's still 'udev' hidden device for any other use.

To display proper active state we need to do few explicit tests
for this condition.

Before it's used for any lvm2 thin volume, deactivation is
now needed to avoid any 'race' with external usage.

10 years agothin: check for new pool before creating thin volume
Zdenek Kabelac [Tue, 4 Nov 2014 14:08:15 +0000 (15:08 +0100)]
thin: check for new pool before creating thin volume

Call check_new_thin_pool() to detect in-use thin-pool.
Save extra reactivation of thin-pool when thin pool is not active.
(it's now a bit more expensive to invoke thin_check for new pools.)

For new pools:

We now active locally exclusively thin-pool as 'public' LV.
Validate transaction_id is till 0.
Deactive.
Prepare create message for thin-pool and exclusively active pool.
Active new thin LV.
And deactivate thin pool if it used to be inactive.

10 years agothin: validate unused thin pool
Zdenek Kabelac [Tue, 4 Nov 2014 14:06:55 +0000 (15:06 +0100)]
thin: validate unused thin pool

Function tests, that given new thin pool is still unused.

10 years agothin: no validation skip of new thin pools
Zdenek Kabelac [Tue, 4 Nov 2014 08:51:58 +0000 (09:51 +0100)]
thin: no validation skip of new thin pools

Allowing 'external' use of thin-pools requires to validate even
so far 'unused' new thin pools.

Later we may have 'smarter' way to resolve which thin-pools are
owned by lvm2 and which are external.

10 years agothin: add lv_is_new_thin_pool
Zdenek Kabelac [Tue, 4 Nov 2014 09:31:28 +0000 (10:31 +0100)]
thin: add lv_is_new_thin_pool

Recognize 'new' (and never used) lvm2 thin pool - it has 'transaction_id' == 0
(lv_is_used_thin_pool() has slightly different meaning).

10 years agolibdm: allow to activate any pool with tid == 0
Zdenek Kabelac [Tue, 4 Nov 2014 08:42:15 +0000 (09:42 +0100)]
libdm: allow to activate any pool with tid == 0

When transaction_id is set 0 for thin-pool, libdm avoids validation
of thin-pool, unless there are real messages to be send to thin-pool.
This relaxes strict policy which always required to know
in front transaction_id for the kernel target.

It now allows to activate thin-pool with any transaction_id
(when transaction_id is passed in)

It is now upto application to validate transaction_id from life
thin-pool volume with transaction_id within it's own metadata.

10 years agolvconvert: convert missing sizes to extents
Zdenek Kabelac [Tue, 4 Nov 2014 13:14:52 +0000 (14:14 +0100)]
lvconvert: convert missing sizes to extents

After initial 'size' usage converted to extents, continue to use
only extents.

(in-release fix).

10 years agotests: thin
Zdenek Kabelac [Thu, 30 Oct 2014 22:18:40 +0000 (23:18 +0100)]
tests: thin

10 years agotests: usage of -m0 -Mn
Zdenek Kabelac [Fri, 31 Oct 2014 22:18:31 +0000 (23:18 +0100)]
tests: usage of -m0 -Mn

Test -m0 passed with types.
Check --readahead and thins.

10 years agocleanup: use lv_is_pool
Zdenek Kabelac [Sun, 2 Nov 2014 18:43:35 +0000 (19:43 +0100)]
cleanup: use lv_is_pool

Use lv_is_pool() to detect both pool versions.

10 years agocleanup: use logical_volume* directly
Zdenek Kabelac [Fri, 31 Oct 2014 09:15:00 +0000 (10:15 +0100)]
cleanup: use logical_volume* directly

10 years agocleanup: consistent name
Zdenek Kabelac [Fri, 31 Oct 2014 10:52:30 +0000 (11:52 +0100)]
cleanup: consistent name

10 years agocleanup: shorter code
Zdenek Kabelac [Fri, 31 Oct 2014 12:36:54 +0000 (13:36 +0100)]
cleanup: shorter code

10 years agocleanup: rename function
Zdenek Kabelac [Sun, 2 Nov 2014 19:59:57 +0000 (20:59 +0100)]
cleanup: rename function

Make more clear dm_info type.

10 years agocleanup: standard params ordering
Zdenek Kabelac [Fri, 31 Oct 2014 10:31:22 +0000 (11:31 +0100)]
cleanup: standard params ordering

Pass lvconvert_params as last arg.

10 years agocleanup: init of lcp
Zdenek Kabelac [Fri, 31 Oct 2014 09:25:05 +0000 (10:25 +0100)]
cleanup: init of lcp

Use struct initializer instead of memset().

10 years agocleanup: correcting tracing
Zdenek Kabelac [Mon, 3 Nov 2014 11:52:24 +0000 (12:52 +0100)]
cleanup: correcting tracing

Use log_error for real error.

10 years agocleanup: use arg_is_set
Zdenek Kabelac [Fri, 31 Oct 2014 10:41:03 +0000 (11:41 +0100)]
cleanup: use arg_is_set

10 years agocache: report stats for cache volumes usage
Zdenek Kabelac [Mon, 3 Nov 2014 11:38:29 +0000 (12:38 +0100)]
cache: report stats for cache volumes usage

Show some stats with 'lvs'
Display same info for active cache volume and cache-pool.

data% - #used cache blocks/#total cache blocks
meta% - #used metadata blocks/#total metadata blocks
copy% - #dirty/#used cache blocks

TODO: maybe there is a better mapping
 - should be seen as first-try-and-see.

10 years agocache: wipe cache-pool before reuse
Zdenek Kabelac [Sun, 2 Nov 2014 18:41:46 +0000 (19:41 +0100)]
cache: wipe cache-pool before reuse

Before we reuse cache-pool - we need to ensure metadata volume
has wiped header.

10 years agocache: support activation of empty cache-pool
Zdenek Kabelac [Sun, 2 Nov 2014 18:34:50 +0000 (19:34 +0100)]
cache: support activation of empty cache-pool

When the cache pool is unused, lvm2 code will internally
allow to activate such cache-pool.

Cache-pool is activate as metadata LV, so lvm2 could easily
wipe such volume before cache-pool is reused.

10 years agocache: lv_cache_status
Zdenek Kabelac [Mon, 3 Nov 2014 11:52:29 +0000 (12:52 +0100)]
cache: lv_cache_status

Replace lv_cache_block_info() and lv_cache_policy_info()
with lv_cache_status() which directly returns
dm_status_cache structure together with some calculated
values.

After use  mem pool stored inside lv_status_cache structure
needs to be destroyed.

10 years agocleanup: add arg to _setup_task
Zdenek Kabelac [Sun, 2 Nov 2014 16:22:32 +0000 (17:22 +0100)]
cleanup: add arg to _setup_task

Add init of  no_open_count into _setup_task().
Report problem as warning (cannot happen anyway).

Also drop some duplicated debug messages - we have already
printed the info about operation so make log a bit shorter.

10 years agocleanup: rename virtual_extents
Zdenek Kabelac [Fri, 31 Oct 2014 10:33:19 +0000 (11:33 +0100)]
cleanup: rename virtual_extents

Use standard 'virtual_extents' naming.
Move virtual_size into  'lcp' struct out of lvcreate_params.

10 years agocleanup: use extents to pass size to /lib
Zdenek Kabelac [Thu, 30 Oct 2014 12:04:06 +0000 (13:04 +0100)]
cleanup: use extents to pass size to /lib

Lib takes sizes in extens - do the same for pool_metadata.

10 years agocache: add wipe_cache_pool
Zdenek Kabelac [Sun, 2 Nov 2014 17:36:41 +0000 (18:36 +0100)]
cache: add wipe_cache_pool

Add function for wiping cache pool volume.
Only unused cache-pool could be wiped.

10 years agocache: allow deactivation of empty pool
Zdenek Kabelac [Sun, 2 Nov 2014 16:48:21 +0000 (17:48 +0100)]
cache: allow deactivation of empty pool

Tool will use internal activation of unused cache pool to
clear metadata area before next use of cache-pool.
So allow to deactivation unused pool in case some error
case happend and we were not able to deactivation pool
right after metadata wipe.

10 years agocache: convert thin-pool
Zdenek Kabelac [Sun, 2 Nov 2014 16:03:14 +0000 (17:03 +0100)]
cache: convert thin-pool

Support caching of thin-pool.

lvresize needs to be resolved - so far, user
has to manually drop cache-pool before resizing.

10 years agothin: allow to convert chunksize of empty pool
Zdenek Kabelac [Mon, 3 Nov 2014 13:00:09 +0000 (14:00 +0100)]
thin: allow to convert chunksize of empty pool

When pool is not used, allow to change its chunksize.

10 years agothin: reporting of thin volumes simplified
Zdenek Kabelac [Mon, 3 Nov 2014 11:38:24 +0000 (12:38 +0100)]
thin: reporting of thin volumes simplified

Simplify reporting of percentage.
Allows easier support for more types.

Move testing of device availability into activate.c

10 years agopool: validate sizes
Zdenek Kabelac [Fri, 31 Oct 2014 10:41:49 +0000 (11:41 +0100)]
pool: validate sizes

0 size are not supported as well as negative.

10 years agofilters: change return code
Zdenek Kabelac [Fri, 31 Oct 2014 19:25:25 +0000 (20:25 +0100)]
filters: change return code

No data for writing should be seen as 'dump' success.
(reduces one <bactrace> in the log) - it has no other
effect.

10 years agolvcreate: tollerate defaults
Zdenek Kabelac [Fri, 31 Oct 2014 12:37:39 +0000 (13:37 +0100)]
lvcreate: tollerate defaults

lvcreate -m0 and -Mn goes with anything.
Read ahead works either with pools or thin/cache, but not with both.

10 years agolibdm: init char array
Zdenek Kabelac [Fri, 31 Oct 2014 12:04:46 +0000 (13:04 +0100)]
libdm: init char array

When non-root uses dm_check_version() it's been printing some unit
values from stack. So always init those vars.

10 years agotests: update raid sync
Zdenek Kabelac [Thu, 30 Oct 2014 23:37:35 +0000 (00:37 +0100)]
tests: update raid sync

10 years agotests: wait for raid sync
Zdenek Kabelac [Thu, 30 Oct 2014 23:31:54 +0000 (00:31 +0100)]
tests: wait for raid sync

10 years agotests: explicitely use old snapshots
Zdenek Kabelac [Thu, 30 Oct 2014 23:28:25 +0000 (00:28 +0100)]
tests: explicitely use old snapshots

10 years agotests: lvcreate snapshot usage update
Zdenek Kabelac [Thu, 30 Oct 2014 22:16:03 +0000 (23:16 +0100)]
tests: lvcreate snapshot usage update

10 years agotests: use aux func to disable device
Zdenek Kabelac [Sun, 26 Oct 2014 19:41:49 +0000 (20:41 +0100)]
tests: use aux func to disable device

10 years agotests: raid syncaction test
Zdenek Kabelac [Sat, 25 Oct 2014 14:03:44 +0000 (16:03 +0200)]
tests: raid syncaction test

Add sync wait for syncaction of raid1 test.
--syncaction requires raid to be in sync first.

10 years agocleanup: shorter code
Zdenek Kabelac [Thu, 30 Oct 2014 12:04:41 +0000 (13:04 +0100)]
cleanup: shorter code

10 years agocleanup: extents_from_size is 32bit value
Zdenek Kabelac [Thu, 30 Oct 2014 10:38:49 +0000 (11:38 +0100)]
cleanup: extents_from_size is 32bit value

Current lvm2 does support only 32bit extents count.

10 years agocleanup: prints and stacks
Zdenek Kabelac [Thu, 30 Oct 2014 10:38:03 +0000 (11:38 +0100)]
cleanup: prints and stacks

10 years agocleanup: remove unneeded assign
Zdenek Kabelac [Tue, 28 Oct 2014 19:09:08 +0000 (20:09 +0100)]
cleanup: remove unneeded assign

10 years agometadata: add extents_from_percent_size
Zdenek Kabelac [Thu, 30 Oct 2014 22:43:12 +0000 (23:43 +0100)]
metadata: add extents_from_percent_size

Add API call to calculate extents from percentage value.
Size is based in DM_PERCENT_1 units.
(Supporting decimal point number).
This commit is preparing functionality for more global
usage of % with i.e. --size option.

10 years agopv_manip: check for pe_ranges
Zdenek Kabelac [Tue, 28 Oct 2014 10:02:58 +0000 (11:02 +0100)]
pv_manip: check for pe_ranges

10 years agolvmcmdline: support size_mb_arg_with_percent
Zdenek Kabelac [Thu, 30 Oct 2014 13:52:37 +0000 (14:52 +0100)]
lvmcmdline: support size_mb_arg_with_percent

New size_mb_arg_with_percent is able to read  size_mb_arg
but also it's able to read % values.

Percent parsing is share with int_arg_with_sign_and_percent.

10 years agolvmcmdline: extra support for decimal point
Zdenek Kabelac [Tue, 28 Oct 2014 10:20:33 +0000 (11:20 +0100)]
lvmcmdline: extra support for decimal point

If root has locales with different decimal point then '.'
(i.e. Czech with ',') lets be tolerant and retry with
"C" locales in the case '.' is found during parse of number.

Locales are then restored back.

10 years agosegtype: drop cmdcontex pointer
Zdenek Kabelac [Mon, 27 Oct 2014 09:50:52 +0000 (10:50 +0100)]
segtype: drop cmdcontex pointer

Users of context provide their cmd pointer,
so don't keep it inside segtype.

10 years agolvcreate: improving recent lvcreate updates
Zdenek Kabelac [Thu, 30 Oct 2014 22:36:07 +0000 (23:36 +0100)]
lvcreate: improving recent lvcreate updates

We need to be able to parse:

lvcreate --type snapshot -s
lvcreate --type thin -s
lvcreate --type cache-pool -H

10 years agoman: update lvcreate with sparse
Zdenek Kabelac [Thu, 30 Oct 2014 18:44:42 +0000 (19:44 +0100)]
man: update lvcreate with sparse

Document sparse device creation and its default segtype selection.

10 years agoconfigure: autoreconf
Zdenek Kabelac [Thu, 30 Oct 2014 16:07:58 +0000 (17:07 +0100)]
configure: autoreconf

Just rebuild after configure.in update.

10 years agosparse: configurable type for sparse volumes
Zdenek Kabelac [Thu, 30 Oct 2014 22:38:02 +0000 (23:38 +0100)]
sparse: configurable type for sparse volumes

Support compile type configurable defaults for creation
of sparse volumes.

By default now create 'thin-pools' for sparse volumes.
Use the global/sparse_segtype_default to switch back to old
snapshots if needed.

Apply the same compile logic for newly introduces mirror/raid1 options.

10 years agoconfigure: option cleanup
Zdenek Kabelac [Thu, 30 Oct 2014 16:13:05 +0000 (17:13 +0100)]
configure: option cleanup

Drop double [[ ]] around default args.
(AC_HELP_STRING is already quoted so double [[]] are not needed).

10 years agotest: for issue fixed in previous commit 2f7f6932dcd450ba75fe590aba8c09838d2618dc
Peter Rajnoha [Mon, 27 Oct 2014 10:53:01 +0000 (11:53 +0100)]
test: for issue fixed in previous commit 2f7f6932dcd450ba75fe590aba8c09838d2618dc

10 years agoreport: selection: fix selection criteria to not match reserved values when using...
Peter Rajnoha [Mon, 27 Oct 2014 10:25:08 +0000 (11:25 +0100)]
report: selection: fix selection criteria to not match reserved values when using >, <, >=, <

Some values are reserved for special purpose like 'undefined', 'unmanaged' etc.
When using >, <, >= and < comparison operators where the range is considered,
do not include reserved values as proper values in this range which
would otherwise result in not so obvious criteria match (as the reserved value is
actually transparent for the user). It's incorrect.

Example scenario:
$ vgs -o vg_name,vg_mda_copies vg1 vg2
  VG   #VMdaCps
  vg1          1
  vg2  unmanaged

The "unmanaged" is actually mapped onto reserved value
18446744073709551615 (2^64 - 1) internally.

Such reseved value is already caught on selection criteria input
properly:

$ vgs -o name,vg_mda_copies vg1 vg2 -S 'vg_mda_copies=18446744073709551615'
  Numeric value 18446744073709551615 found in selection is reserved.

However, we still need to fix situaton where the reserved value may be
included in resulting range:

Before this patch:
$ vgs -o vg_name,vg_mda_copies vg1 vg2 -S 'vg_mda_copies >= 1'
  VG   #VMdaCps
  vg1          1
  vg2  unmanaged

With this patch applied:
$ vgs -o vg_name,vg_mda_copies vg1 vg2 -S 'vg_mda_copies >= 1'
  VG   #VMdaCps
  vg1         1

From the examples above, we can see that without this patch applied,
the vg_mda_copies >= 1 also matched the reserved value 18446744073709551615
(which is represented by the "unamanged" string on report). When
applying the operators, such values must be skipped! They're meant to
be matched only against their string representation only, e.g.:

$ vgs -o name,vg_mda_copies vg1 vg2 -S 'vg_mda_copies=unmanaged'
  VG   #VMdaCps
  vg2  unmanaged

...or any synonyms:

$ vgs -o name,vg_mda_copies vg1 vg2 -S 'vg_mda_copies=undefined'
  VG   #VMdaCps
  vg2  unmanaged

10 years agopools: workaround hints
Zdenek Kabelac [Sun, 26 Oct 2014 18:45:17 +0000 (19:45 +0100)]
pools: workaround hints

Missing code for stacked hint estimation

10 years agotests: update cache creation tests
Zdenek Kabelac [Sun, 26 Oct 2014 15:19:30 +0000 (16:19 +0100)]
tests: update cache creation tests

This page took 0.07115 seconds and 5 git commands to generate.