]> sourceware.org Git - lvm2.git/log
lvm2.git
8 years agolvconvert: Disable thin pool raid conversion while active.
Alasdair G Kergon [Tue, 27 Sep 2016 17:22:54 +0000 (18:22 +0100)]
lvconvert: Disable thin pool raid conversion while active.

Works if the pool is inactive.

Activation code doesn't notice a new raid dependency in on-disk metadata
when a thin LV is already active.

https://bugzilla.redhat.com/1365286

8 years agolibdm: fix dm_stats_delete_region() backwards compat
Bryn M. Reeves [Tue, 27 Sep 2016 16:46:52 +0000 (17:46 +0100)]
libdm: fix dm_stats_delete_region() backwards compat

The dm_stats_delete_region() call removes a region from the bound
device, and, if the region is grouped, from the group leader
group descriptor stored in aux_data.

To do this requires a listed handle: previous versions of the
library do not since no dependencies exist between regions without
grouping.

This leads to strange behaviour when a command built against an old
version of the library is used with one supporting groups. Deleting
a region with dmstats succeeds, but logs errors:

  # dmstats list
  Name             RgID RgSta RgSiz #Areas ArSize ProgID
  vg_hex-root         0     0 1.00g      1  1.00g dmstats
  vg_hex-root         1 1.00g 1.00g      1  1.00g dmstats
  vg_hex-root         2 2.00g 1.00g      1  1.00g dmstats
  # dmstats delete --regionid 2 vg_hex/root
  Region ID 2 does not exist
  Could not delete statistics region.
  Command failed
  # dmstats list
  Name             RgID RgSta RgSiz #Areas ArSize ProgID
  vg_hex-root         0     0 1.00g      1  1.00g dmstats
  vg_hex-root         1 1.00g 1.00g      1  1.00g dmstats

This happens because the call to dm_stats_delete_region() is inside
a dm_stats_walk_*() iterator: upon entry to the call, the iterator
is at its end conditions and about to terminate. Due to the call to
dm_stats_list() inside the function, it returns with an iterator at
the beginning of a walk and performs a further iteration before
exiting. This final loop makes a further attempt to delete the
(already deleted) region, leading to the confusing error messages.

8 years agolibdm: fix stats walk compatibility with older dmsetup
Bryn M. Reeves [Tue, 27 Sep 2016 13:35:22 +0000 (14:35 +0100)]
libdm: fix stats walk compatibility with older dmsetup

The current dmsetup.c handles DR_STATS and DR_STATS_META reports
separately in _display_info_cols(), meaning that the stats walk
functions are never called for these report types.

Versions before v2.02.159 have a loop using dm_stats_walk_do() and
dm_stats_walk_while(), that executes once for non-stats reports,
and once per region, or area, for DR_STATS/DR_STATS_META reports.

This older behaviour relies on the documented behaviour that the
walk functions will accept a NULL pointer as the struct dm_stats*
argument.

This was broken by commit f1f2df7b: the NULL test on dms and
dms->regions were incorrectly moved from the dm_stats_walk_end()
wrapper to the internal '_stats_walk_end()' helper.

Since the pointer is dereferenced in between these points, using
an older dmsetup with current libdm results in a segfault when
running a non-stats report:

  # dmsetup info -c vg00/lvol0
  Segmentation fault (core dumped)

Restore the NULL checks to the wrapper function as intended.

8 years agosystemd: disable service start rate limiting for lvm2-pvscan@.service
Peter Rajnoha [Tue, 27 Sep 2016 08:47:54 +0000 (10:47 +0200)]
systemd: disable service start rate limiting for lvm2-pvscan@.service

We shouldn't be losing pvscans just because of the fact that the
underlying device (PV) appears and disappears quickly in the system,
otherwise lvmetad may not see the device if it appears again (or it may
still keep the device in cache even it's already gone).

8 years agopost-release
Alasdair G Kergon [Mon, 26 Sep 2016 13:29:35 +0000 (14:29 +0100)]
post-release

8 years agopre-release v2_02_166
Alasdair G Kergon [Mon, 26 Sep 2016 13:20:08 +0000 (14:20 +0100)]
pre-release

8 years agoman: fix dmsetup stats
Zdenek Kabelac [Mon, 26 Sep 2016 10:36:04 +0000 (12:36 +0200)]
man: fix dmsetup stats

Fix typo  STATS -> STATUS.

8 years agosystemd: fix extra space in unit generated by lvm2-activation-generator
Timur Bakeyev [Mon, 26 Sep 2016 07:54:19 +0000 (09:54 +0200)]
systemd: fix extra space in unit generated by lvm2-activation-generator

8 years agotoolcontext: read all configuration sources when checking config values in lvm2-activ...
Peter Rajnoha [Fri, 23 Sep 2016 12:51:15 +0000 (14:51 +0200)]
toolcontext: read all configuration sources when checking config values in lvm2-activation-generator through lighweight toolcontext handler

We added lightweight toolcontext handle to avoid useless initialization
of some parts of the context and also to avoid problems when using the
handle very soon at system boot, like in lvm2-activation-generator
through lvm2app interface. However, we missed reading all the other
config sources like lvmlocal.conf as well as any tag config - we need to
read these too to get the final config value which may be overriden in
any of these additional config sources.

Currently, we use this lightweight toolcontext handle to read
global/use_lvmetad and global/use_lvmpolld config values in
lvm2-activation-generator using lvm2app interface (lvm_config_find_bool
lvm2app function).

8 years agomake: also clean up lvmdump.sh with substitutions - there's original lvmdump.sh.in
Peter Rajnoha [Fri, 23 Sep 2016 10:48:52 +0000 (12:48 +0200)]
make: also clean up lvmdump.sh with substitutions - there's original lvmdump.sh.in

8 years agotests: fix raid rebuild tests to work with older target versions
Heinz Mauelshagen [Thu, 22 Sep 2016 21:35:37 +0000 (23:35 +0200)]
tests: fix raid rebuild tests to work with older target versions

Pre 1.9 dm-raid targets status output was racy, which caused
the device status chars to be unreliable _during_ synchronization.
This shows paritcularly with tiny test devices used.

Enhance lvchange-rebuild-raid.sh to not check status
chars _during_ synchronization. Just check afterwards.

8 years agotests: raid repair needs devices in-sync
Zdenek Kabelac [Thu, 22 Sep 2016 13:46:18 +0000 (15:46 +0200)]
tests: raid repair needs devices in-sync

Though I'm not quite sure why we push this limit on user,
current --repair logic requires user to wait outside of command.

TODO: I'm not quite sure this repair logic is 'the most wanted'.

8 years agotests: check for TRIM support
Zdenek Kabelac [Thu, 22 Sep 2016 13:37:52 +0000 (15:37 +0200)]
tests: check for TRIM support

passdown can really work only on discardable device.
Skip 'status' test when PV does no support discard.

8 years agoconfig: use config_tree_from_string_without_dup_node_check throughout code to constru...
Peter Rajnoha [Wed, 21 Sep 2016 12:59:14 +0000 (14:59 +0200)]
config: use config_tree_from_string_without_dup_node_check throughout code to construct metadata trees

8 years agoconfig: add config_tree_from_string_without_dup_node_check to replace dm_config_from_...
Peter Rajnoha [Wed, 21 Sep 2016 12:42:16 +0000 (14:42 +0200)]
config: add config_tree_from_string_without_dup_node_check to replace dm_config_from_string where needed

8 years agoconfig: parse config tree without dup node checking if it's metadata tree
Peter Rajnoha [Wed, 21 Sep 2016 12:27:15 +0000 (14:27 +0200)]
config: parse config tree without dup node checking if it's metadata tree

8 years agolibdm: add dm_config_parse_without_dup_node_check
Peter Rajnoha [Wed, 21 Sep 2016 12:25:24 +0000 (14:25 +0200)]
libdm: add dm_config_parse_without_dup_node_check

Introduce function for config parsing tree without checking
for duplicate nodes.

8 years agocleanup: remove unused variables
Peter Rajnoha [Wed, 21 Sep 2016 13:53:50 +0000 (15:53 +0200)]
cleanup: remove unused variables

8 years agocoverity: dmsetup: fix possible use of uninitialized value
Peter Rajnoha [Wed, 21 Sep 2016 13:52:23 +0000 (15:52 +0200)]
coverity: dmsetup: fix possible use of uninitialized value

8 years agodmsetup: ensure --filemap histogram bounds are freed
Bryn M. Reeves [Wed, 14 Sep 2016 14:44:51 +0000 (15:44 +0100)]
dmsetup: ensure --filemap histogram bounds are freed

Make sure that the temporary dm_histogram used for the bounds
argument is freed in the case that the user provided a --bounds
argument on the command line.

8 years agolvconvert: fix (automatic) raid repair regression
Heinz Mauelshagen [Tue, 20 Sep 2016 22:38:38 +0000 (00:38 +0200)]
lvconvert: fix (automatic) raid repair regression

The dm-raid target now rejects device rebuild requests during ongoing
resynchronization thus causing 'lvconvert --repair ...' to fail with
a kernel error message. This regresses with respect to failing automatic
repair via the dmeventd RAID plugin in case raid_fault_policy="allocate"
is configured in lvm.conf as well.

Previously allowing such repair request required cancelling the
resynchronization of any still accessible DataLVs, hence reasoning
potential data loss.

Patch allows the resynchronization of still accessible DataLVs to
finish up by rejecting any 'lvconvert --repair ...'.

It enhances the dmeventd RAID plugin to be able to automatically repair
by postponing the repair after synchronization ended.

More tests are added to lvconvert-rebuild-raid.sh to cover single
and multiple DataLV failure cases for the different RAID levels.

- resolves: rhbz1371717

8 years agotests: correcting kernel version test
Zdenek Kabelac [Tue, 20 Sep 2016 20:50:43 +0000 (22:50 +0200)]
tests: correcting  kernel version test

Debug force leaked in.

8 years agotests: show some more device info
Zdenek Kabelac [Tue, 20 Sep 2016 20:47:14 +0000 (22:47 +0200)]
tests: show some more device info

When passdown is not there, look for possible reason.

8 years agotests: read messages instead of syslog
Zdenek Kabelac [Tue, 20 Sep 2016 20:36:29 +0000 (22:36 +0200)]
tests: read messages instead of syslog

Since on those older system there is rather 'fight' over
syslog reading buffer - lets read output from /var/log/messages
intead.

8 years agotests: kernel message for <3.5 kernels
Zdenek Kabelac [Tue, 20 Sep 2016 15:09:46 +0000 (17:09 +0200)]
tests: kernel message for <3.5 kernels

Since /dev/kmsg is useless on kernel <3.5 user there automatically
syslog to obtain traces from kernel log buffer during test.

8 years agocache: restore reported origin field
Zdenek Kabelac [Tue, 20 Sep 2016 12:26:11 +0000 (14:26 +0200)]
cache: restore reported origin field

Commit 199697accff0658a11420e263c1f85fb74cd39d3 rerouted funtion
for priting cache volume origin to lvm2app app function - which
however had a bug.  So restore the original functionality
and print correct LV as cache origin LV.

8 years agosnapshots: Fix monitoring to use cow not internal LV.
Alasdair G Kergon [Tue, 20 Sep 2016 01:30:58 +0000 (02:30 +0100)]
snapshots: Fix monitoring to use cow not internal LV.

8 years agolvmdbusd: Assign percentage on set
Tony Asleson [Mon, 19 Sep 2016 19:30:04 +0000 (14:30 -0500)]
lvmdbusd: Assign percentage on set

8 years agolvmdbustest: Remove pyudev deprecated warnings
Tony Asleson [Mon, 19 Sep 2016 15:33:32 +0000 (10:33 -0500)]
lvmdbustest: Remove pyudev deprecated warnings

8 years agolvmdbusd: Correct imports
Tony Asleson [Mon, 19 Sep 2016 15:29:26 +0000 (10:29 -0500)]
lvmdbusd: Correct imports

Place the imports in the files where they are directly needed.

8 years agolvmdbustest: ws fix-ups
Tony Asleson [Mon, 19 Sep 2016 15:20:12 +0000 (10:20 -0500)]
lvmdbustest: ws fix-ups

8 years agolvmdbusd: Fix dbus object with only properties and no method
Tony Asleson [Mon, 19 Sep 2016 14:54:24 +0000 (09:54 -0500)]
lvmdbusd: Fix dbus object with only properties and no method

Gris debugged that when we don't have a method the introspection
data is missing the interface itself eg.

<interface name="<your_obj_iface_name>" />

When adding the properties to the dbus object introspection we will
add the interface too if it's missing.  This now allows us the
ability to have a dbus object with only properties.

8 years agolvmdbustest.py: Test with/without timeout values
Tony Asleson [Sat, 17 Sep 2016 05:11:59 +0000 (00:11 -0500)]
lvmdbustest.py: Test with/without timeout values

Because of the different code paths we need to test job handling with
all operations.  Test now runs virtually everything with timeout == 0
and timeout == 15 so that we test both use cases.

Note:  If a client passes -1 for the timeout value they need to make
sure that their connection time out is also infinite.  Otherwise, if the client
times out the service side hangs any new dbus calls until the job
that is in progress completes.  Not sure why this behavior is occuring
at this time, but it appears a limitation/bug of the dbus-python library.

8 years agolvmdbusd: Set value to non none on error
Tony Asleson [Sat, 17 Sep 2016 05:10:46 +0000 (00:10 -0500)]
lvmdbusd: Set value to non none on error

When we register a failure we need to use a valid value which will be
returned with the object manager.  Otherwise we will raise an Exception
because we are trying to construct an object path from None.

8 years agolvmdbustest.py: Make methods static
Tony Asleson [Fri, 16 Sep 2016 19:01:18 +0000 (14:01 -0500)]
lvmdbustest.py: Make methods static

Changed methods to be static that should be.

8 years agolvmdbusd: Vg.LvCreate* methods, correct return type
Tony Asleson [Fri, 16 Sep 2016 19:00:14 +0000 (14:00 -0500)]
lvmdbusd: Vg.LvCreate* methods, correct return type

The methods were returning an instance of the object instead of the
object path which was causing an exception when the result was returned
with the job object as we are explicity trying to return an object path.

Unit test added which re-creates the issue and verifies the fix.

8 years agodebug: cleanup backtrace after log_error
Zdenek Kabelac [Fri, 16 Sep 2016 12:42:37 +0000 (14:42 +0200)]
debug: cleanup backtrace after log_error

8 years agodebug: mention origin_only in message
Zdenek Kabelac [Mon, 19 Sep 2016 11:48:54 +0000 (13:48 +0200)]
debug: mention origin_only in message

8 years agotests: enhance lvchange of thin pool tests
Zdenek Kabelac [Mon, 19 Sep 2016 11:49:32 +0000 (13:49 +0200)]
tests: enhance lvchange of thin pool tests

Validate also content of dmtable.
Check operations with unused thin-pool as well.

8 years agotests: check for metadata test working properly
Zdenek Kabelac [Fri, 16 Sep 2016 19:55:04 +0000 (21:55 +0200)]
tests: check for metadata test working properly

Add more tests to check they guard minimum free space in metadata
for new thin volume creation.

8 years agotests: add check grep_dmsetup
Zdenek Kabelac [Mon, 19 Sep 2016 11:46:42 +0000 (13:46 +0200)]
tests: add  check grep_dmsetup

Add simple helper/wrapper check function to check result
of dmsetup call i.e.:

check grep_dmsetup table vg-lv  "grep_expected"
check grep_dmsetup status vg-lv -v "grep_unexpected"

8 years agothin: fix lvchange of discards and zero flag
Zdenek Kabelac [Sat, 23 Apr 2016 19:09:09 +0000 (21:09 +0200)]
thin: fix lvchange of discards and zero flag

Reload of thin-pool origin_only is designed to only post messages
to a thin-pool. It's not intended to be used for reload of thin-pool
table. Fix it by using standard call  'lv_update_and_reload()'.

8 years agothin: enforce there is some free space in thin pool metadata
Zdenek Kabelac [Fri, 16 Sep 2016 19:50:14 +0000 (21:50 +0200)]
thin: enforce there is some free space in thin pool metadata

Unconditionally guard there is at least 1/4 of metadata volume
free (<16Mib) or 4MiB - whichever value is smaller.

In case there is not enough free space do not let operation proceed and
recommend thin-pool metadata resize (in case user has not
enabled autoresize, manual 'lvextend --poolmetadatasize' is needed).

8 years agothin: report pool as holder when no active thin volume
Zdenek Kabelac [Fri, 16 Sep 2016 19:47:57 +0000 (21:47 +0200)]
thin: report pool as holder when no active thin volume

In the case there is no active thin volume, report thin pool
as lock holder. This fixed function like lvextend
which either expecte lock holder LV is some active thin
or 'possibly' inactive thin pool.

8 years agolibdm: fix end-of-groups test in _stats_walk_end()
Bryn M. Reeves [Fri, 16 Sep 2016 12:08:30 +0000 (13:08 +0100)]
libdm: fix end-of-groups test in _stats_walk_end()

8 years agoalloc: Use --alloc normal for mirror logs.
Alasdair G Kergon [Fri, 16 Sep 2016 01:11:58 +0000 (02:11 +0100)]
alloc: Use --alloc normal for mirror logs.

The existing code doesn't understand that mirror logs should cling to
parallel LVs (like extending them) instead of avoiding them.

As a quick workaround to avoid lvcreate failures, hard-code
--alloc normal for mirror logs even if the rest of the allocation
used a stricter policy.

https://bugzilla.redhat.com/show_bug.cgi?id=1376532

8 years agolvmdump: Use O_DIRECT to gather metadata.
Alasdair G Kergon [Thu, 15 Sep 2016 12:59:52 +0000 (13:59 +0100)]
lvmdump: Use O_DIRECT to gather metadata.

8 years agolvmlockd: fix metadata validation when rescanning VG
David Teigland [Tue, 13 Sep 2016 21:50:47 +0000 (16:50 -0500)]
lvmlockd: fix metadata validation when rescanning VG

When rescanning a VG from disk, the metadata read from
each PV was compared as a sanity check.  The comparison
is done by exporting the vg metadata from each dev to
a config tree, and then comparing the config trees.
The function to create the config tree inserts
extraneous information along with the actual VG metadata.
This extra info includes creation_time.  The config
trees for two devs can easily be created one second
apart in which case the different creation_times would
cause the metadata comparison to fail.  The fix is to
exclude the extraneous info from the metadata comparison.

8 years agotests: Revert "tests: not redirect strderr to stdout"
Zdenek Kabelac [Tue, 13 Sep 2016 11:23:47 +0000 (13:23 +0200)]
tests: Revert "tests: not redirect strderr to stdout"

This reverts commit 5314d36f3d186efb05a051e80444332f743194ef.

Ok - some tests do look for 'stderr' output of 'not' commands.
So let's keep existing functionality.

8 years agotests: slightly bigger raid arrays
Zdenek Kabelac [Tue, 13 Sep 2016 10:23:46 +0000 (12:23 +0200)]
tests: slightly bigger raid arrays

Just to ensure we catch devices in sync.

8 years agotests: more permissive on test percent value
Zdenek Kabelac [Tue, 13 Sep 2016 09:30:16 +0000 (11:30 +0200)]
tests: more permissive on test percent value

Just check there is some output.
Values may slightly differ per policy target version.

8 years agotests: use just single raid_leg_status
Zdenek Kabelac [Tue, 13 Sep 2016 09:27:36 +0000 (11:27 +0200)]
tests: use just single raid_leg_status

Simplify 'check' test actualy and correct printed tracing output

8 years agotests: not redirect strderr to stdout
Zdenek Kabelac [Tue, 13 Sep 2016 09:55:08 +0000 (11:55 +0200)]
tests: not redirect strderr to stdout

Errors are 'wanted' and expected in this case.

8 years agolibdm: cleaner debug message
Zdenek Kabelac [Tue, 13 Sep 2016 07:24:38 +0000 (09:24 +0200)]
libdm: cleaner debug message

8 years agorpm: install lvmreport.7
Zdenek Kabelac [Mon, 12 Sep 2016 14:40:42 +0000 (16:40 +0200)]
rpm: install lvmreport.7

8 years agotests: slow down disks more
Zdenek Kabelac [Mon, 12 Sep 2016 14:48:09 +0000 (16:48 +0200)]
tests: slow down disks more

8 years agotests: add check function for raid leg status
Zdenek Kabelac [Mon, 12 Sep 2016 13:44:09 +0000 (15:44 +0200)]
tests: add check function for raid leg status

2 new check test functions:

raid_leg_status    - to just compare
raid_leg_status_is - to compare and die when different

8 years agotests: use exclusive activation
Zdenek Kabelac [Fri, 9 Sep 2016 21:40:41 +0000 (23:40 +0200)]
tests: use exclusive activation

Slightly better for clvmd - thought test is still crashing
as table is broken.

8 years agotests: move cache test to separate file
Zdenek Kabelac [Fri, 9 Sep 2016 21:38:47 +0000 (23:38 +0200)]
tests: move cache test to separate file

Don't mix plain raid test with  'raid+cache' test.

8 years agoactivation: dso always defined for monitoring query
Zdenek Kabelac [Mon, 12 Sep 2016 14:37:31 +0000 (16:37 +0200)]
activation: dso always defined for monitoring query

Ensure 'dso' has always a defined (NULL) value,
and also ensure NULL 'dso' is not dereferenced.

8 years agoman: add lvmreport man page
Peter Rajnoha [Mon, 12 Sep 2016 11:54:37 +0000 (13:54 +0200)]
man: add lvmreport man page

8 years agoman: Only install lvmraid when needed.
Alasdair G Kergon [Mon, 12 Sep 2016 12:03:09 +0000 (13:03 +0100)]
man: Only install lvmraid when needed.

8 years agocache: fixed copy&paste from last commit
Zdenek Kabelac [Fri, 9 Sep 2016 19:26:38 +0000 (21:26 +0200)]
cache: fixed copy&paste from last commit

8 years agorpm: build with raid man page
Zdenek Kabelac [Fri, 9 Sep 2016 15:11:14 +0000 (17:11 +0200)]
rpm: build with raid man page

8 years agotests: rename test _ -> -
Zdenek Kabelac [Fri, 9 Sep 2016 14:11:35 +0000 (16:11 +0200)]
tests: rename test  _ -> -

Change '_' in the test name.

8 years agotests: increate delay for raid rebuild
Zdenek Kabelac [Fri, 9 Sep 2016 18:24:48 +0000 (20:24 +0200)]
tests: increate delay for raid rebuild

Delay writes just to usable extents on a PV
(so lvm2 metadata update remains fast).
Raise delay to 10ms for write.

8 years agotests: skip synaction test in cluster for now
Zdenek Kabelac [Fri, 9 Sep 2016 16:27:12 +0000 (18:27 +0200)]
tests: skip synaction test in cluster for now

Until we resolve it - we do not support syncaction on clustered VG.

8 years agotests: lowering disc usage
Zdenek Kabelac [Fri, 9 Sep 2016 15:12:10 +0000 (17:12 +0200)]
tests: lowering disc usage

Correction for aux test result  ([] -> if;then;fi)

Use issue_discard to lower memory demands on discardable test devices
Use large devices directly through prepare_pvs

I'm still observing more then 0.5G of data usage through.

Particullary:

'lvcreate' followed by 'lvconvert' (which doesn't yet support --nosync
option)  is quite demanging, and resume returns quite 'late' when
a lot of data has been already written on PV.

8 years agocache: fix reporting of dirty cache
Zdenek Kabelac [Fri, 9 Sep 2016 18:45:37 +0000 (20:45 +0200)]
cache: fix reporting of dirty cache

When cache has zero used blocks it's been wrongly reported as 100.00% dirty.
Fix it and report 0.00.

8 years agolvm2app: fix cache percantage reporting
Zdenek Kabelac [Fri, 9 Sep 2016 12:25:53 +0000 (14:25 +0200)]
lvm2app: fix cache percantage reporting

In lvm2app we were always returning dirty (copy%) value.
Return properly data & metadata usage values.

8 years agocache: report metadata percentage
Zdenek Kabelac [Fri, 9 Sep 2016 12:24:49 +0000 (14:24 +0200)]
cache: report metadata percentage

Reinstantiate reporting of metadata percent usage for cache volumes.
Also show the same percentage with hidden cache-pool LV.
This regression was caused by optimization for a single-ioctl in
2.02.155.

8 years agotests: lower allocated memory
Zdenek Kabelac [Wed, 7 Sep 2016 14:43:42 +0000 (16:43 +0200)]
tests: lower allocated memory

Use  smaller mirror to have faster sync.
TODO: switch to delayed devs...

8 years agocleanup: clean gcc6 minor/major types warnings
Zdenek Kabelac [Wed, 7 Sep 2016 13:13:48 +0000 (15:13 +0200)]
cleanup: clean gcc6 minor/major types warnings

Put sys/sysmacros.h in front of sys/types.h header file as requested
by gcc6 part II.

8 years agocache: scrubbing for cache origin LV - Bug 1169495
Brassow Jonathan [Tue, 6 Sep 2016 14:29:14 +0000 (09:29 -0500)]
cache: scrubbing for cache origin LV - Bug 1169495

Allow RAID scrubbing on cache origin sub-LV

This patch adds the ability to perform RAID scrubbing on the cache
origin sub-LV (https://bugzilla.redhat.com/1169495).  Cache origin
operations are restricted to non-clustered RAID LVs until there can
be further testing in a cluster (even for exclusive activation).

User can either specify directly _corig LV
or he can specify cache LV and operation  --syncation is
passed ONLY to   _corig LV.

If users wants to manipulation with cache-pool devices - he
needs to specify this object name.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
8 years agopost-release
Alasdair G Kergon [Wed, 7 Sep 2016 01:34:15 +0000 (02:34 +0100)]
post-release

8 years agopre-release v2_02_165
Alasdair G Kergon [Wed, 7 Sep 2016 01:25:51 +0000 (02:25 +0100)]
pre-release

8 years agoman: Additional info on exit statuses.
Alasdair G Kergon [Wed, 7 Sep 2016 00:57:09 +0000 (01:57 +0100)]
man: Additional info on exit statuses.

8 years agoman lvmraid: install
David Teigland [Tue, 6 Sep 2016 20:20:43 +0000 (15:20 -0500)]
man lvmraid: install

8 years agoman lvmraid: comment out unfinished features
David Teigland [Tue, 6 Sep 2016 20:13:59 +0000 (15:13 -0500)]
man lvmraid: comment out unfinished features

8 years agoman lvmraid: remove rebuild example
David Teigland [Tue, 6 Sep 2016 19:54:45 +0000 (14:54 -0500)]
man lvmraid: remove rebuild example

8 years agoman: add lvmraid(7)
David Teigland [Tue, 6 Sep 2016 19:50:08 +0000 (14:50 -0500)]
man: add lvmraid(7)

8 years agodev-type: check for DEVLINKS udev db variable existence if udev_device_get_is_initial...
Peter Rajnoha [Tue, 6 Sep 2016 11:12:02 +0000 (13:12 +0200)]
dev-type: check for DEVLINKS udev db variable existence if udev_device_get_is_initialized fn is not present

Older udev versions (udev < v165), don't have the official
udev_device_get_is_initialized function available to query for
device initialization state in udev database. Also, devices don't
have USEC_INITIALIZED udev db variable set - this is bound to the
udev_device_get_is_initialized fn functionality.

In this case, check for "DEVLINKS" variable instead - all block devices
have at least one symlink set for the node (the "/dev/block/<major:minor>".
This symlink is set by default basic udev rules provided by udev directly.
We'll use this as an alternative for the check that initial udev
processing for a device has already finished.

8 years agolvmetad: Unused includes.
Alasdair G Kergon [Mon, 5 Sep 2016 16:14:53 +0000 (17:14 +0100)]
lvmetad: Unused includes.

8 years agodev-type: use more appropriate messages in udev_dev_is_mpath_component and use 10s...
Peter Rajnoha [Mon, 5 Sep 2016 12:31:09 +0000 (14:31 +0200)]
dev-type: use more appropriate messages in udev_dev_is_mpath_component and use 10s timeout

8 years agorefactor: move and rename _dev_is_mpath_component in lvmetad.c to udev_dev_is_mpath_c...
Peter Rajnoha [Mon, 5 Sep 2016 10:13:10 +0000 (12:13 +0200)]
refactor: move and rename _dev_is_mpath_component in lvmetad.c to udev_dev_is_mpath_component in dev-type.c

8 years agolvmetad: check udev for mpath component several times if udev record not initialized yet
Peter Rajnoha [Mon, 5 Sep 2016 09:33:08 +0000 (11:33 +0200)]
lvmetad: check udev for mpath component several times if udev record not initialized yet

It's possible (mainly during boot) that udev has not finished
processing the device and hence the udev database record for that
device is still marked as uninitialized when we're trying to look
at it as part of multipath component check in pvscan --cache code.

So check several times with a short delay to wait for the udev db
record to be initialized before giving up completely.

8 years agolvmetad: use udev to ignore multipath components during scan
David Teigland [Wed, 31 Aug 2016 18:05:53 +0000 (13:05 -0500)]
lvmetad: use udev to ignore multipath components during scan

When scanning devs to populate lvmetad during system startup,
filter-mpath with native sysfs multipath component detection
may not detect that a dev is multipath component.  This is
because the multipath devices may not be set up yet.

Because of this, pvscan will scan multipath components during
startup, will see them as duplicate PVs, and will disable
lvmetad.  This will leave lvmetad disabled on systems using
multipath, unless something or someone runs pvscan --cache
to rescan.

To avoid this problem, the code that is scanning devices to
populate lvmetad will now check the udev db to see if a
dev is a multipath component that should be skipped.

(This may not be perfect due to inherent udev races, but will
cover most cases and will be at least as good as it's ever
been.)

8 years agotests: skip test for older cache target
Zdenek Kabelac [Tue, 30 Aug 2016 11:28:36 +0000 (13:28 +0200)]
tests: skip test for older cache target

Some test on older can targets are not going to work, and
since there is no other fix then using newer kernel - skip
such tests completely.

8 years agodmeventd: typo and debug name fix
Zdenek Kabelac [Wed, 31 Aug 2016 09:05:39 +0000 (11:05 +0200)]
dmeventd: typo and debug name fix

Fix 'raw' -> 'row' fix.
Consitently use thin pool as a type of monitored device in info message.

8 years agolvmdump: use lsblk -s and lsblk -O in lvmdump only if these options are supported
Peter Rajnoha [Tue, 30 Aug 2016 13:33:50 +0000 (15:33 +0200)]
lvmdump: use lsblk -s and lsblk -O in lvmdump only if these options are supported

The lsblk is just a nice helper here - it's not crucial for lvmdump so
do best effort here and use the most we can from current version of
lsblk that is installed on system. The lsblk -s option was added a bit
later after lsblk introduction and lsblk -O support even more later -
so if these are not available, use only pure lsblk output without any
extras.

8 years agoconfig: regenerate
Alasdair G Kergon [Tue, 30 Aug 2016 12:23:39 +0000 (13:23 +0100)]
config: regenerate

8 years agoraid10: Fix #stripes in lvcreate msg when too many.
Alasdair G Kergon [Tue, 30 Aug 2016 11:04:23 +0000 (12:04 +0100)]
raid10: Fix #stripes in lvcreate msg when too many.

8 years agolvmdbusd: Prefix tag string with '@'
Tony Asleson [Mon, 29 Aug 2016 23:00:21 +0000 (18:00 -0500)]
lvmdbusd: Prefix tag string with '@'

8 years agolvmdbustest.py: Add tag regression test
Tony Asleson [Mon, 29 Aug 2016 22:59:42 +0000 (17:59 -0500)]
lvmdbustest.py: Add tag regression test

Add '-' back in as acceptable tag character

8 years agolvmdbusd: WS/pep8 corrections
Tony Asleson [Mon, 29 Aug 2016 20:07:55 +0000 (15:07 -0500)]
lvmdbusd: WS/pep8 corrections

8 years agolvmdbusd/lvmdb.py: Make stand alone execution work
Tony Asleson [Mon, 29 Aug 2016 19:52:41 +0000 (14:52 -0500)]
lvmdbusd/lvmdb.py: Make stand alone execution work

This was broken when the args were moved to cfg

8 years agolvmdbusd: Correct imports
Tony Asleson [Mon, 29 Aug 2016 19:51:26 +0000 (14:51 -0500)]
lvmdbusd: Correct imports

8 years agotest/lib/aux.sh: Remove incorrect comment
Tony Asleson [Mon, 29 Aug 2016 19:29:12 +0000 (14:29 -0500)]
test/lib/aux.sh: Remove incorrect comment

The dbus service needs to use the system bus.  The test environment does
not allow work with session bus environment.

8 years agotest/lib/aux.sh: Remove '--udev' for lvmdbusd start
Tony Asleson [Mon, 29 Aug 2016 19:28:12 +0000 (14:28 -0500)]
test/lib/aux.sh: Remove '--udev' for lvmdbusd start

The service will start up with udev monitoring and disable it if lvm
starts calling ExternalEvent.

8 years agolvmdbusd: Handle different daemon options
Tony Asleson [Mon, 29 Aug 2016 19:26:16 +0000 (14:26 -0500)]
lvmdbusd: Handle different daemon options

- Prevent --lvmshell with --nojson, not a valid combination
- If user is preventing json, then no lvmshell usage
- Return boolean on Manager.UseLvmShell

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