]> sourceware.org Git - lvm2.git/log
lvm2.git
6 years agoRemove lvmetad
David Teigland [Tue, 10 Jul 2018 18:39:29 +0000 (13:39 -0500)]
Remove lvmetad

Native disk scanning is now both reduced and
async/parallel, which makes it comparable in
performance (and often faster) when compared
to lvm using lvmetad.

Autoactivation now uses local temp files to record
online PVs, and no longer requires lvmetad.

There should be no apparent command-level change
in behavior.

6 years agotests: fix mkdir pvs_online
David Teigland [Tue, 10 Jul 2018 19:19:46 +0000 (14:19 -0500)]
tests: fix mkdir pvs_online

6 years agotests: autoactivation tests for use without lvmetad
David Teigland [Tue, 10 Jul 2018 14:58:22 +0000 (09:58 -0500)]
tests: autoactivation tests for use without lvmetad

Adjust a few lvmetad pvscan/autoactivation tests to be
used without lvmetad, and add a test to cover some cases
that have not been tested before.

6 years agopvscan: autoactivate without lvmetad
David Teigland [Thu, 28 Jun 2018 19:48:03 +0000 (14:48 -0500)]
pvscan: autoactivate without lvmetad

When lvmetad is not used, use temporary files to record
which PVs have appeared.  Use these temp files to determine
when a VG is complete, to trigger autoactivation.

This change allows us to remove lvmetad while keeping the
same autoactivation behavior that lvmetad provides.

The temp files are created in /run/lvm/pvs_online/ and are
named for the PVID of the PV.  The files contain the
major:minor of the device the PV was read from.

e.g. if VG foo has dev1 and dev2, then:

. pvscan --cache -aay dev1
  reads vg metadata from dev1
  creates /run/lvm/pvs_online/<pvid-of-dev1>
  checks if all vg->pvs are online: no

. pvscan --cache -aay dev2
  reads vg metadata from dev2
  creates /run/lvm/pvs_online/<pvid-of-dev2>
  checks if all vg->pvs are online: yes
  autoactivates vg

A 'pvscan --cache dev' (without -aay) still records that
dev is online.

A 'pvscan --cache --major X --minor Y' after a device is
gone will remove the temp file for it.

A 'pvscan --cache [-aay]' (no devs) resets the state of
temp files by removing them all, then scanning all devs
and creating temp files for PVs that are found.

If no online files exist, the first pvscan --cache scans
all devs and creates temp files for any PVs found.

The scope of the temp files is only pvscan, and they are only
used for pvscan-based autoactivation.  No other commands are
concerned with or aware of these temp files.  When lvm creates
or removes PVs, no attempt is made to update the temp files.

6 years agotests: initial vdo tests
Zdenek Kabelac [Sun, 24 Jun 2018 18:06:59 +0000 (20:06 +0200)]
tests: initial vdo tests

Basic functionality of lvcreate, lvchange.

6 years agodmeventd: lvm vdo support
Zdenek Kabelac [Mon, 9 Jul 2018 09:43:12 +0000 (11:43 +0200)]
dmeventd: lvm vdo support

6 years agovgchange: vdo support
Zdenek Kabelac [Sun, 1 Jul 2018 10:03:23 +0000 (12:03 +0200)]
vgchange: vdo support

Support vgchange usage with VDO segtype.
Also changing extent size need small update for vdo virtual extent.

TODO: API needs enhancements so it's not about adding ifs() everywhere.

6 years agolvconvert: support to convert lv into vdopool
Zdenek Kabelac [Sat, 30 Jun 2018 21:38:49 +0000 (23:38 +0200)]
lvconvert: support to convert lv into vdopool

Support:

lvconvert --type vdo-pool  vg/lv

lvconvert --vdopool  vg/lv   --virtualsize 10G

6 years agolvchange: vdo support compression deduplication change
Zdenek Kabelac [Mon, 2 Jul 2018 08:51:45 +0000 (10:51 +0200)]
lvchange: vdo support compression deduplication change

Add basic support for changing compression and deduplication state
of a VDO pool volume.

Allowing to access it also via top-level VDO volume.

6 years agolvcreate: vdo support
Zdenek Kabelac [Fri, 29 Jun 2018 11:16:08 +0000 (13:16 +0200)]
lvcreate: vdo support

Supports basic:  'lvcreate --vdo -LXXXG -VYYYG vg/vdoname -n lvname'
Allows to create basic VDO pool volume and virtual VDO volume.

6 years agolvresize: vdo support
Zdenek Kabelac [Mon, 2 Jul 2018 08:54:56 +0000 (10:54 +0200)]
lvresize: vdo support

Unsupported ATM.

Wait till VDO kernel target starts to use updated resize sequence,
LOAD, SUSPEND, RESUME.

6 years agoargs: new options for vdo segment
Zdenek Kabelac [Fri, 29 Jun 2018 09:31:08 +0000 (11:31 +0200)]
args: new options for vdo segment

Introduce new options usable with commands supporting VDO:
 --compression, --deduplication, --vdo, --vdopool

6 years agotoollib: support new command rules queries
Zdenek Kabelac [Mon, 2 Jul 2018 08:50:41 +0000 (10:50 +0200)]
toollib: support new command rules queries

Add: LV_vdo, LV_vdopool, LV_vdopooldata

6 years agovdo: data percentage
Zdenek Kabelac [Wed, 4 Jul 2018 21:17:38 +0000 (23:17 +0200)]
vdo: data percentage

Display percentage of used virtual size of vdo-pool volume.

6 years agodisplay: basic vdo segment lvdisplay and lvs support
Zdenek Kabelac [Sun, 1 Jul 2018 13:58:01 +0000 (15:58 +0200)]
display: basic vdo segment lvdisplay and lvs support

Print some basic info about vdo segment.

'lvdisplay -m' ATM shows the most.
lvs  shows usage percentage.

6 years agodev_manager: add dev_manager_vdo_pool_status
Zdenek Kabelac [Fri, 29 Jun 2018 09:15:54 +0000 (11:15 +0200)]
dev_manager: add dev_manager_vdo_pool_status

6 years agolv_manip: layout and role support for vdo segment
Zdenek Kabelac [Fri, 29 Jun 2018 09:18:44 +0000 (11:18 +0200)]
lv_manip: layout and role support for vdo segment

6 years agocheck_lv_segment: internal vdo segment validation
Zdenek Kabelac [Fri, 29 Jun 2018 09:13:43 +0000 (11:13 +0200)]
check_lv_segment: internal vdo segment validation

Check if settings for vdo segment are correct.

6 years agovdo_manip: parsing status of VDO device
Zdenek Kabelac [Mon, 2 Jul 2018 15:20:30 +0000 (17:20 +0200)]
vdo_manip: parsing status of VDO device

6 years agovdo: support functions to map enums to string names
Zdenek Kabelac [Mon, 2 Jul 2018 19:58:18 +0000 (21:58 +0200)]
vdo: support functions to map enums to string names

Translate VDO enums to printable strings.

6 years agovdo: component activation of VDO data LV
Zdenek Kabelac [Tue, 3 Jul 2018 09:05:50 +0000 (11:05 +0200)]
vdo: component activation of VDO data LV

Allow component activation of VDO data LV.

6 years agovdo: with created names use vpool
Zdenek Kabelac [Tue, 3 Jul 2018 18:14:48 +0000 (20:14 +0200)]
vdo: with created names use vpool

When user create vdo-pool - use different automatic name.
So unlike with traditional LVs using  lvol0, lvol1
use vpool0, vpool1...

TODO: apply similar for thin-pool  & cache-pool...

6 years agovdo: introduce segment types and manip functions
Zdenek Kabelac [Fri, 29 Jun 2018 09:11:14 +0000 (11:11 +0200)]
vdo: introduce segment types and manip functions

Core functionality introducing lvm VDO support.

6 years agobuild: install VDO small allocation profile
Zdenek Kabelac [Tue, 3 Jul 2018 09:10:57 +0000 (11:10 +0200)]
build: install VDO small allocation profile

Profile shows all VDO configurables.

Usable with: lvcreate --metadataprofile vdo-small ...

6 years agodevice_mapper: basic support for vdo dm target
Zdenek Kabelac [Fri, 29 Jun 2018 09:08:51 +0000 (11:08 +0200)]
device_mapper: basic support for vdo dm target

6 years agolib: new vdo segment configurable options
Zdenek Kabelac [Fri, 29 Jun 2018 09:09:03 +0000 (11:09 +0200)]
lib: new vdo segment configurable options

Configurable for vdo segment with their default values.
Also specify their ranges with minimal and maximal values.

6 years agobuild: add vdo configuration option --with-vdo=
Zdenek Kabelac [Fri, 29 Jun 2018 11:38:18 +0000 (13:38 +0200)]
build: add vdo configuration option --with-vdo=

Checks whether VDO support is enabled.
Detects presence of 'vdoformat' tool which is required for to format VDO pool.

ATM build of VDO is NOT automatically enabled (None is default).
To enable build of LVM with VDO support use:

configure --with-vdo=internal

TODO: Maybe future version may switch to link some small VDO library for formating
(would require linking and package dependency).

6 years agoactivate: kvdo modprobe workaround
Zdenek Kabelac [Fri, 29 Jun 2018 09:02:24 +0000 (11:02 +0200)]
activate: kvdo modprobe workaround

To support autoloading of VDO dm target driver loading of 'kvdo'
kernel module is needed - ATM it's not using 'dm-vdo' name.
So to support this strange name - add temporarily solution to
autoload  kvdo kernel module in this case.

6 years agodmeventd: base vdo plugin
Zdenek Kabelac [Mon, 9 Jul 2018 09:41:26 +0000 (11:41 +0200)]
dmeventd: base vdo plugin

Introduce VDO plugin for monitoring VDO devices.

This plugin can be used also by other users, as plugin checks
for UUID prefix 'LVM-' and run  lvm actions only on those
devices.

Non LVM- device are only monitored and log warnings
when usage threshold reaches 80%.

6 years agobuild: not yet merged
Zdenek Kabelac [Mon, 9 Jul 2018 08:37:39 +0000 (10:37 +0200)]
build: not yet merged

status.c will get linked with VDO support.

6 years agotests: update vdo unit test to dm prefix
Zdenek Kabelac [Mon, 9 Jul 2018 08:05:06 +0000 (10:05 +0200)]
tests: update vdo unit test to dm prefix

Update prefix and reindent.

6 years agodevice_mapper: convert vdo to use dm_ prefix
Zdenek Kabelac [Mon, 9 Jul 2018 08:04:51 +0000 (10:04 +0200)]
device_mapper: convert vdo to use dm_ prefix

Keep using DM_/dm_ prefixes for device_mapper code.

6 years agobuild: unit test Makefile update
Zdenek Kabelac [Mon, 9 Jul 2018 08:05:19 +0000 (10:05 +0200)]
build: unit test Makefile update

Update makefile to link with more libs since now whole liblvm-internal.a
is linked-in and  this library has futher dependencies.

Avoid including deps for run-unit-test.

Drop linking separate status.c as it's already linked via internal libs.

6 years agovdo: fix parsing vdo status
Zdenek Kabelac [Sun, 8 Jul 2018 22:54:16 +0000 (00:54 +0200)]
vdo: fix parsing vdo status

Recent updates relay on zerod status structure memory (device ptr is
NULL) and also dm_strncpy need to count with '\0'.

6 years agoallocation: add check for passing log allocation
Zdenek Kabelac [Sun, 8 Jul 2018 22:54:16 +0000 (00:54 +0200)]
allocation: add check for passing log allocation

Updates previous commit.

6 years agotests: check how thin-pool allocation works
Zdenek Kabelac [Sun, 8 Jul 2018 21:24:58 +0000 (23:24 +0200)]
tests: check how thin-pool allocation works

Check allocation of thin-pool works on 2PVs, when one is so full,
that even metadata do not fit there (as they need at least 2M,
while 99% of 63MB fills >62MB)

6 years agocleanup: use last_seg
Zdenek Kabelac [Sat, 7 Jul 2018 19:35:07 +0000 (21:35 +0200)]
cleanup: use last_seg

More readable code.

6 years agobuild: libdm preload dir is no longer needed
Zdenek Kabelac [Tue, 3 Jul 2018 09:12:04 +0000 (11:12 +0200)]
build: libdm preload dir is no longer needed

Since we do not build lvm code with libdm, drop preload.

6 years agodev_io: no discard in testmode
Zdenek Kabelac [Sun, 8 Jul 2018 19:11:01 +0000 (21:11 +0200)]
dev_io: no discard in testmode

When lvm2 command is executed in test mode, discard ioctl is skipped.
This may cause even data-loose in case, issuing discard for released
areas was enabled and user 'tested'  lvreduce.

6 years agoallocator: fix thin-pool allocation
Zdenek Kabelac [Sun, 8 Jul 2018 16:34:38 +0000 (18:34 +0200)]
allocator: fix thin-pool allocation

When allocating thin-pool with more then 1 device - try to
allocate 'metadataLV' with reuse of log-type allocation for mirror LV.
It should be naturally place on other device then 'dataLV'.

However due to somewhat hard to follow allocation logic code,
it's been rejected allocation in cases where there was not
enough space for data or metadata on single PV, thus to successed,
usage of segments was mandatory.

While user may use:

allocation/thin_pool_metadata_require_separate_pvs=1

to enforce separe meta and data LV - on default settings, this is not
enable thus segment allocation is meant to work.

NOTE:

As already said - the original intention of this whole  'if()' is unclear,
so try to split this test into multiple more simple tests that are more readable.

TODO: more validation.

6 years agovdo: enhance status parser
Zdenek Kabelac [Wed, 27 Jun 2018 14:18:53 +0000 (16:18 +0200)]
vdo: enhance status parser

Add support for using mempool for allocations inside status parser.
Convert some string pointers to arrays.
Reindent tabs.

6 years agodevice_mapper: relocate code for sending messages
Zdenek Kabelac [Sat, 23 Jun 2018 21:03:25 +0000 (23:03 +0200)]
device_mapper: relocate code for sending messages

To be able to send messages for recently resumed devices,
move code into inner loop.

6 years agodevice_mapper: deactive new nodes when load fails
Zdenek Kabelac [Fri, 29 Jun 2018 15:25:38 +0000 (17:25 +0200)]
device_mapper: deactive new nodes when load fails

When node loading fails, there is not much the caller can do,
since there is 'unknown' set of devices preloaded.

Only suspend during preload knows future precommitted 'metadata',
so it's non-trivial to drop 'preloaded' entries with any later call.

However dm tree tracks newly loaded entries - so in this case it
may simplify the recovery path by dropping preloaded entries so
they are not leaked in the DM table.

6 years agolv_manip: do not check extents for any virtual target
Zdenek Kabelac [Fri, 29 Jun 2018 09:25:08 +0000 (11:25 +0200)]
lv_manip: do not check extents for any virtual target

Allow creation of any virtual segment type with just --virtualsize
specified without any real extent size give.

TODO: likely --type error,zero might be later enhanced to use -V
(along with -L) - but since those targets do not allocate real
space, supporting -V makes sense with them.

6 years agolv_manip: add name of failing LV into error message
Zdenek Kabelac [Fri, 29 Jun 2018 15:26:01 +0000 (17:26 +0200)]
lv_manip: add name of failing LV into error message

6 years agomemlock: extend exception list
Zdenek Kabelac [Sat, 30 Jun 2018 09:05:14 +0000 (11:05 +0200)]
memlock: extend exception list

Amound of linked libraries grows.
Most of them we don't need to lock in, since we are not using
them in locked section, so skip locking them in memory.

6 years agolocking: memory locking ONLY with suspending reason
Zdenek Kabelac [Sat, 30 Jun 2018 08:35:08 +0000 (10:35 +0200)]
locking: memory locking ONLY with suspending reason

It's important to lock memory beforo running SUSPEND ioctl - but whole
lvm preload runs in memory unlocked environment - as in this phase
memory allocation is allowed and is meant to happen.

Once all targets are preload and ready (confirmed from all targets)
we start suspending tree - and here the memory allocation (or i.e.
opening files) is no longer allowed - as it may cause kernel deadlock.

6 years agobuild: drop some more old files
Zdenek Kabelac [Sun, 1 Jul 2018 13:01:41 +0000 (15:01 +0200)]
build: drop some more old files

6 years agobuild: avoid rebuild deps for top-level makefiles
Zdenek Kabelac [Sun, 1 Jul 2018 13:16:18 +0000 (15:16 +0200)]
build: avoid rebuild deps for top-level makefiles

6 years agodmsetup: fix error propagation in _display_info_cols()
Bryn M. Reeves [Thu, 28 Jun 2018 13:25:30 +0000 (14:25 +0100)]
dmsetup: fix error propagation in _display_info_cols()

Commit 3f35146 added a check on the value returned by the
_display_info_cols() function:

  1024         if (!_switches[COLS_ARG])
  1025                 _display_info_long(dmt, &info);
  1026         else
  1027                 r = _display_info_cols(dmt, &info);
  1028
  1029         return r;

This exposes a bug in the dmstats code in _display_info_cols:
the fact that a device has no regions is explicitly not an error
(and is documented as such in the code), but since the return
code is not changed before leaving the function it is now treated
as an error leading to:

  # dmstats list
  Command failed.

When no regions exist.

Set the return code to the correct value before returning.

6 years agoRevert "man: fix lvreduce example"
David Teigland [Wed, 27 Jun 2018 14:19:01 +0000 (09:19 -0500)]
Revert "man: fix lvreduce example"

 -l -3 is correct, meaning reduce by 3.

This reverts commit d5bcc56eefde8349ffee93d0411c6f9fd71ceb84.

6 years agoman: fix lvreduce example
David Teigland [Wed, 27 Jun 2018 13:58:22 +0000 (08:58 -0500)]
man: fix lvreduce example

6 years agobcache: Fix null pointer dereferencing
Marian Csontos [Tue, 26 Jun 2018 15:04:18 +0000 (17:04 +0200)]
bcache: Fix null pointer dereferencing

6 years agodevice_mapper: add new _dm_task_create_device_status
Zdenek Kabelac [Sat, 23 Jun 2018 21:02:24 +0000 (23:02 +0200)]
device_mapper: add new _dm_task_create_device_status

Introduce new function _dm_task_create_device_status for grabbing
status of device for better code sharing.

6 years agodevice_mapper: split code for sending message
Zdenek Kabelac [Sat, 23 Jun 2018 19:00:40 +0000 (21:00 +0200)]
device_mapper: split code for sending message

Move message sending from _thin_pool_node_message to
new _node_message for possible better code sharing.

6 years agodevice_mapper: split _node_send_message
Zdenek Kabelac [Sat, 23 Jun 2018 18:50:36 +0000 (20:50 +0200)]
device_mapper: split _node_send_message

For better code reuse split _node_send_messages into commont
messaging part and separate _thin_pool_node_send_messages.

Patch makes it possible to better reuse common code for messaging
other targets.

6 years agotests: update with --yes
Zdenek Kabelac [Sun, 24 Jun 2018 18:49:59 +0000 (20:49 +0200)]
tests: update with --yes

vgcfgrestore needs to confirm restore while LVs from VG are present.

6 years agolv_manip: use vgmem pool
Zdenek Kabelac [Sat, 23 Jun 2018 09:59:35 +0000 (11:59 +0200)]
lv_manip: use vgmem pool

Switch to vgmem pool for allocation associated with modification
of particular VG.

6 years agocache: use new api function
Zdenek Kabelac [Sat, 23 Jun 2018 09:47:33 +0000 (11:47 +0200)]
cache: use new api function

6 years agolv_manip: add new internal api function
Zdenek Kabelac [Sat, 23 Jun 2018 09:35:22 +0000 (11:35 +0200)]
lv_manip: add new internal api function

6 years agocache: set areas count prior using it
Zdenek Kabelac [Sat, 23 Jun 2018 09:35:34 +0000 (11:35 +0200)]
cache: set areas count prior using it

Set correct counter, so it's not failing on internal error check.

6 years agovcfgrestore: add prompt with active volumes
Zdenek Kabelac [Fri, 22 Jun 2018 16:45:48 +0000 (18:45 +0200)]
vcfgrestore: add prompt with active volumes

Add check for active device with names matching restored VG.
When such devices are present in dm table, prompt user, if he
wish to continue.

6 years agolv_manip: add extra internal error
Zdenek Kabelac [Wed, 20 Jun 2018 08:44:13 +0000 (10:44 +0200)]
lv_manip: add extra internal error

Catch error early, when trying to store data into non-allocated area.

6 years agoutils: add clzll
Zdenek Kabelac [Tue, 19 Jun 2018 17:35:48 +0000 (19:35 +0200)]
utils: add clzll

Check for __builtin_clzll and add wrapper when missing.

6 years agotests: fix rules for mke2fs.conf install
Zdenek Kabelac [Fri, 22 Jun 2018 20:43:58 +0000 (22:43 +0200)]
tests: fix rules for mke2fs.conf install

6 years agobuild: support --disable-silent-rules
Zdenek Kabelac [Fri, 22 Jun 2018 21:30:42 +0000 (23:30 +0200)]
build: support --disable-silent-rules

Add support for standardized option for have verbose builds.
Useful for distro builds where more details can be useful.

6 years agobuild: include configure.h
Zdenek Kabelac [Tue, 19 Jun 2018 18:43:31 +0000 (20:43 +0200)]
build: include configure.h

It's important to consistenly include  configure.h as the 1st. header.
It containts #defines influencing behavior of other included header
files.

6 years agobuild: make generate
Zdenek Kabelac [Tue, 19 Jun 2018 13:07:50 +0000 (15:07 +0200)]
build: make generate

6 years agoradix-tree: squash a pointer arithmetic warning
Joe Thornber [Thu, 21 Jun 2018 16:41:56 +0000 (17:41 +0100)]
radix-tree: squash a pointer arithmetic warning

6 years agoMerge branch 'master' of git+ssh://sourceware.org/git/lvm2
Joe Thornber [Thu, 21 Jun 2018 16:12:09 +0000 (17:12 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2

6 years agoradix-tree: fix bug when erasing elts in remove_prefix
Joe Thornber [Thu, 21 Jun 2018 16:10:05 +0000 (17:10 +0100)]
radix-tree: fix bug when erasing elts in remove_prefix

_erase_elt() now zeroes the last element of the array (ie. sets to
UNSET).  Previously remove() was doing this, but not remove_prefix().

6 years agofilter: use pointers to real addresses
David Teigland [Thu, 21 Jun 2018 15:52:35 +0000 (10:52 -0500)]
filter: use pointers to real addresses

instead of casting values 1 and 2 to pointers
which gcc optimization can have problems with.

6 years agoRemove code for using files as devices
David Teigland [Thu, 21 Jun 2018 14:33:21 +0000 (09:33 -0500)]
Remove code for using files as devices

It appears this has not been used in a long time,
and it seems to have no point since loop devices exist.

6 years agolvmlockd: fix another missing lock_type null check
David Teigland [Thu, 21 Jun 2018 14:00:23 +0000 (09:00 -0500)]
lvmlockd: fix another missing lock_type null check

Same as 347c807f8.

6 years agoradix-tree: More debugging of remove
Joe Thornber [Wed, 20 Jun 2018 09:04:59 +0000 (10:04 +0100)]
radix-tree: More debugging of remove

There's now a pretty printer called radix_tree_dump()

n4, n16, and n48 weren't UNSETting the last entry after
sliding values down.

6 years agoradix_tree: add new test case
Joe Thornber [Tue, 19 Jun 2018 12:38:13 +0000 (13:38 +0100)]
radix_tree: add new test case

Check that value destructors are called by radix_tree_destroy()

6 years agoradix-tree: FIx various bugs to do with removal
Joe Thornber [Tue, 19 Jun 2018 09:19:06 +0000 (10:19 +0100)]
radix-tree: FIx various bugs to do with removal

Add radix_tree_is_well_formed() which does some sanity checking
of the tree.

Call the above a lot in the unit tests.

Fix revealed bugs.

6 years agoscan: work around udev problems by avoiding open RDWR
David Teigland [Wed, 20 Jun 2018 16:32:45 +0000 (11:32 -0500)]
scan: work around udev problems by avoiding open RDWR

udev creates a train wreck of events if we open devices
with RDWR.  Until we can fix/disable/scrap udev, work around
this by opening RDONLY and then closing/reopening RDWR when
a write is needed.  This invalidates the bcache blocks for
the device before writing so it can trigger unnecessary
rereading.

6 years agobcache: remove extraneous error message
David Teigland [Mon, 18 Jun 2018 16:59:57 +0000 (11:59 -0500)]
bcache: remove extraneous error message

an error from io_submit is already recognized by
the caller like errors during completion.

6 years agoPrint advice about changing clustered VGs to shared
David Teigland [Mon, 18 Jun 2018 15:59:11 +0000 (10:59 -0500)]
Print advice about changing clustered VGs to shared

6 years agoDrop --ignoreskippedcluster option
David Teigland [Fri, 15 Jun 2018 20:43:59 +0000 (15:43 -0500)]
Drop --ignoreskippedcluster option

It's no longer needed.  Clustered VGs are now handled in
the same way as foreign VGs, and as shared VGs that
can't be accessed:

- A command processing all VGs sees a clustered VG,
  prints a message ("Skipping clustered VG foo."),
  skips it, and does not fail.

- A command where the clustered VG is explicitly
  named on the command line, prints a message and fails.
  "Cannot access clustered VG foo, see lvmlockd(8)."

The option is listed in the set of ignored options for
the commands that previously accepted it.  (Removing it
entirely would cause commands/scripts to fail if they
set it.)

6 years agoreport: show empty lock_type for none
David Teigland [Fri, 15 Jun 2018 19:14:39 +0000 (14:14 -0500)]
report: show empty lock_type for none

Sometimes lock_type would be displayed as "none"
(after changing it) and sometimes as empty.
Make it consistently empty.

6 years agoRemove unused device error counting
David Teigland [Fri, 15 Jun 2018 19:04:39 +0000 (14:04 -0500)]
Remove unused device error counting

6 years agoconfig: add deprecated version for recently removed settings
David Teigland [Fri, 15 Jun 2018 18:56:26 +0000 (13:56 -0500)]
config: add deprecated version for recently removed settings

assumes that the next version from this branch is 3.0.0

6 years agoscan: use full md filter when md 1.0 devices are present
David Teigland [Fri, 15 Jun 2018 16:42:10 +0000 (11:42 -0500)]
scan: use full md filter when md 1.0 devices are present

The md filter can operate in two native modes:
- normal: reads only the start of each device
- full: reads both the start and end of each device

md 1.0 devices place the superblock at the end of the device,
so components of this version will only be identified and
excluded when lvm uses the full md filter.

Previously, the full md filter was only used in commands
that could write to the device.  Now, the full md filter
is also applied when there is an md 1.0 device present
on the system.  This means the 'pvs' command can avoid
displaying md 1.0 components (at the cost of doubling
the i/o to every device on the system.)

(The md filter can operate in a third mode, using udev,
but this is disabled by default because there have been
problems with reliability of the info returned from udev.)

6 years agoAdd cmd arg to more functions
David Teigland [Fri, 15 Jun 2018 16:03:55 +0000 (11:03 -0500)]
Add cmd arg to more functions

so that it can be used in the filter code

6 years agorpm: drop no longer present clvmd, lvm2app
Zdenek Kabelac [Thu, 14 Jun 2018 22:47:35 +0000 (00:47 +0200)]
rpm: drop no longer present clvmd, lvm2app

6 years agotests: more tolerable makefile
Zdenek Kabelac [Thu, 14 Jun 2018 22:46:54 +0000 (00:46 +0200)]
tests: more tolerable makefile

6 years agoscripts: clvmd gone
Zdenek Kabelac [Thu, 14 Jun 2018 22:46:24 +0000 (00:46 +0200)]
scripts: clvmd gone

6 years agoman: stop installing clvmd man page
Zdenek Kabelac [Thu, 14 Jun 2018 22:46:08 +0000 (00:46 +0200)]
man: stop installing clvmd man page

6 years agoman-generator: drop macro redefines
Zdenek Kabelac [Thu, 14 Jun 2018 21:15:28 +0000 (23:15 +0200)]
man-generator: drop macro redefines

6 years agotests: drop some clvmd refs
Zdenek Kabelac [Thu, 14 Jun 2018 21:14:32 +0000 (23:14 +0200)]
tests: drop some clvmd refs

Do not try to link clvmd binary.
Ensure lib is created new and does not refer old binaries.

6 years agobuild: cmirrord with internal dm lib
Zdenek Kabelac [Thu, 14 Jun 2018 21:14:04 +0000 (23:14 +0200)]
build: cmirrord with internal dm lib

6 years agotests: bigger lv
Zdenek Kabelac [Thu, 14 Jun 2018 19:52:22 +0000 (21:52 +0200)]
tests: bigger lv

Although throttling slows down things considerable, it still could
reach the end before next test so use bigger LV.

6 years agodebug: missing trace
Zdenek Kabelac [Wed, 13 Jun 2018 13:56:58 +0000 (15:56 +0200)]
debug: missing trace

6 years agosystemd: add conficting sockets
Zdenek Kabelac [Tue, 12 Jun 2018 14:27:42 +0000 (16:27 +0200)]
systemd: add conficting sockets

Since we are using "DefaultDependencies=no" we do not get automatic STOP
job on socket connection - so automatically refuse connection on
shutdown by adding this Conflict definition to socket Unit.

6 years agovgchange: start polling with activation
Zdenek Kabelac [Thu, 14 Jun 2018 19:05:41 +0000 (21:05 +0200)]
vgchange: start polling with activation

Shuffle code for better readability as set of conditions was
hard to follow.

Make it obvious the refresh & activate path is handling
monitoring and polling on its own.

So the only --monitor and --poll option needs explicit care.
Option --monitor without option --poll will now as a result
of this patch NOT start polling.

So command: vgchange --monitor n    is no longer a polling starter.

6 years agopvscan: move start of polling into vgchange
Zdenek Kabelac [Thu, 14 Jun 2018 19:07:59 +0000 (21:07 +0200)]
pvscan: move start of polling into vgchange

Restoring polling for activated volumes lost with my recent commit:
75fed05d3ef648583764ff56cc577e0f3eba1bba and move start of polling
directly into _activate_lvs_in_vg() - as there we know exactly
if there was some volume even activated.

Also make it sharing same code for pvscan -aay.

6 years agopvscan: code reshape
Zdenek Kabelac [Thu, 14 Jun 2018 19:07:15 +0000 (21:07 +0200)]
pvscan: code reshape

6 years agovgchange: trace faling activation
Zdenek Kabelac [Thu, 14 Jun 2018 19:04:53 +0000 (21:04 +0200)]
vgchange: trace faling activation

Trace failed activation and directly assign 0 returning failure.

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