]>
sourceware.org Git - lvm2.git/log
Joe Thornber [Thu, 7 Jun 2018 15:24:42 +0000 (16:24 +0100)]
test/unit: activation generator unit tests
Joe Thornber [Thu, 7 Jun 2018 15:20:49 +0000 (16:20 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2
David Teigland [Wed, 6 Jun 2018 21:31:59 +0000 (16:31 -0500)]
Implement lock-override options without locking type
The options: --nolocking, --readonly, --sysinit
override, or make exceptions to, the normal file locking
behavior. Implement these by just checking for the
options in the file locking path instead of using
special locking types.
David Teigland [Wed, 6 Jun 2018 19:35:27 +0000 (14:35 -0500)]
tests: system_id remove clustered vg test
David Teigland [Wed, 6 Jun 2018 19:04:19 +0000 (14:04 -0500)]
tests: remove -cn option from some commands
David Teigland [Tue, 5 Jun 2018 21:47:24 +0000 (16:47 -0500)]
Remove locking infrastructure from activation paths
Basic LV functions:
activate_lv(), deactivate_lv(),
suspend_lv(), resume_lv()
were routed through the locking infrastruture on the way to:
lv_activate_with_filter(), lv_deactivate(),
lv_suspend_if_active(), lv_resume_if_active()
This commit removes the locking infrastructure from the
middle and calls the later functions directly from the former.
There were a couple of ancillary steps that the locking
infrastructure added along the way which are still included:
- critical section inc/dec during suspend/resume
- checking for active component LVs during activate
The "activation" file lock (serializing activation) has not
been kept because activation commands have been changed to
take the VG file lock exclusively which makes the activation
lock unused and unnecessary.
David Teigland [Wed, 6 Jun 2018 16:14:39 +0000 (11:14 -0500)]
use exclusive file lock on VG for activation
Make activation commands:
vgchange -ay, lvchange -ay, pvscan -aay
take an exclusive file lock on the VG to serialize
multiple concurrent activation commands which could
otherwise interfere with each other.
David Teigland [Tue, 5 Jun 2018 20:16:58 +0000 (15:16 -0500)]
Remove VG lock ordering check
Four commands lock two VGs at a time:
- vgsplit and vgmerge already have their own logic to
acquire the locks in the correct order.
- vgimportclone and vgrename disable this ordering check.
David Teigland [Tue, 5 Jun 2018 18:21:28 +0000 (13:21 -0500)]
Remove unused clvm variations for active LVs
Different flavors of activate_lv() and lv_is_active()
which are meaningful in a clustered VG can be eliminated
and replaced with whatever that flavor already falls back
to in a local VG.
e.g. lv_is_active_exclusive_locally() is distinct from
lv_is_active() in a clustered VG, but in a local VG they
are equivalent. So, all instances of the variant are
replaced with the basic local equivalent.
For local VGs, the same behavior remains as before.
For shared VGs, lvmlockd was written with the explicit
requirement of local behavior from these functions
(lvmlockd requires locking_type 1), so the behavior
in shared VGs also remains the same.
David Teigland [Tue, 5 Jun 2018 16:39:07 +0000 (11:39 -0500)]
Remove more clvm code
David Teigland [Wed, 6 Jun 2018 18:56:02 +0000 (13:56 -0500)]
lvmlockd: fix missing lock_type null check
Missed checking if vg->lock_type is NULL in commit
db8d3bdfa :
lvmlockd: enable mirror split and merge with dlm lock_type
David Teigland [Wed, 6 Jun 2018 15:05:08 +0000 (10:05 -0500)]
devices: clean up io error messages
Remove the io error message from bcache.c since it is not
very useful without the device path.
Make the io error messages from dev_read_bytes/dev_write_bytes
more user friendly.
Joe Thornber [Thu, 7 Jun 2018 15:15:04 +0000 (16:15 +0100)]
scripts/lvm2_activation_generator_systemd_red_hat: rewrite to use lvmconfig
Unit tested the new code, but not run functional tests (assuming they exist).
David Teigland [Wed, 6 Jun 2018 21:31:59 +0000 (16:31 -0500)]
Implement lock-override options without locking type
The options: --nolocking, --readonly, --sysinit
override, or make exceptions to, the normal file locking
behavior. Implement these by just checking for the
options in the file locking path instead of using
special locking types.
David Teigland [Wed, 6 Jun 2018 19:35:27 +0000 (14:35 -0500)]
tests: system_id remove clustered vg test
David Teigland [Wed, 6 Jun 2018 19:04:19 +0000 (14:04 -0500)]
tests: remove -cn option from some commands
David Teigland [Tue, 5 Jun 2018 21:47:24 +0000 (16:47 -0500)]
Remove locking infrastructure from activation paths
Basic LV functions:
activate_lv(), deactivate_lv(),
suspend_lv(), resume_lv()
were routed through the locking infrastruture on the way to:
lv_activate_with_filter(), lv_deactivate(),
lv_suspend_if_active(), lv_resume_if_active()
This commit removes the locking infrastructure from the
middle and calls the later functions directly from the former.
There were a couple of ancillary steps that the locking
infrastructure added along the way which are still included:
- critical section inc/dec during suspend/resume
- checking for active component LVs during activate
The "activation" file lock (serializing activation) has not
been kept because activation commands have been changed to
take the VG file lock exclusively which makes the activation
lock unused and unnecessary.
David Teigland [Wed, 6 Jun 2018 16:14:39 +0000 (11:14 -0500)]
use exclusive file lock on VG for activation
Make activation commands:
vgchange -ay, lvchange -ay, pvscan -aay
take an exclusive file lock on the VG to serialize
multiple concurrent activation commands which could
otherwise interfere with each other.
David Teigland [Tue, 5 Jun 2018 20:16:58 +0000 (15:16 -0500)]
Remove VG lock ordering check
Four commands lock two VGs at a time:
- vgsplit and vgmerge already have their own logic to
acquire the locks in the correct order.
- vgimportclone and vgrename disable this ordering check.
David Teigland [Tue, 5 Jun 2018 18:21:28 +0000 (13:21 -0500)]
Remove unused clvm variations for active LVs
Different flavors of activate_lv() and lv_is_active()
which are meaningful in a clustered VG can be eliminated
and replaced with whatever that flavor already falls back
to in a local VG.
e.g. lv_is_active_exclusive_locally() is distinct from
lv_is_active() in a clustered VG, but in a local VG they
are equivalent. So, all instances of the variant are
replaced with the basic local equivalent.
For local VGs, the same behavior remains as before.
For shared VGs, lvmlockd was written with the explicit
requirement of local behavior from these functions
(lvmlockd requires locking_type 1), so the behavior
in shared VGs also remains the same.
David Teigland [Tue, 5 Jun 2018 16:39:07 +0000 (11:39 -0500)]
Remove more clvm code
David Teigland [Wed, 6 Jun 2018 18:56:02 +0000 (13:56 -0500)]
lvmlockd: fix missing lock_type null check
Missed checking if vg->lock_type is NULL in commit
db8d3bdfa :
lvmlockd: enable mirror split and merge with dlm lock_type
David Teigland [Wed, 6 Jun 2018 15:05:08 +0000 (10:05 -0500)]
devices: clean up io error messages
Remove the io error message from bcache.c since it is not
very useful without the device path.
Make the io error messages from dev_read_bytes/dev_write_bytes
more user friendly.
Joe Thornber [Wed, 6 Jun 2018 13:45:16 +0000 (14:45 +0100)]
device_mapper: fixup a couple of includes
"libdevmapper.h" -> "device_mapper/libdevmapper.h"
David Teigland [Tue, 5 Jun 2018 15:47:01 +0000 (10:47 -0500)]
Remove clvmd and associated code
More code reduction and simplification can follow.
Heinz Mauelshagen [Tue, 5 Jun 2018 14:24:19 +0000 (16:24 +0200)]
WHATS_NEW
Heinz Mauelshagen [Wed, 30 May 2018 10:50:34 +0000 (12:50 +0200)]
test: add convcenience conversion tests linear <-> striped
Add tests for linear <-> striped|raid* conversions.
Add region_size config to reshape tests to avoid test
failures in case of it being defined unexpectedly in lvm.conf.
Related: rhbz1439925
Related: rhbz1447809
Heinz Mauelshagen [Wed, 30 May 2018 10:49:15 +0000 (12:49 +0200)]
lvconvert: support linear <-> striped convenience conversions
"lvconvert --type {linear|striped|raid*} ..." on a striped/linear
LV provides convenience interim type to convert to the requested
final layout similar to the given raid* <-> raid* conveninece types.
Whilst on it, add missing raid5_n convenince type from raid5* to raid10.
Resolves: rhbz1439925
Resolves: rhbz1447809
Resolves: rhbz1573255
Heinz Mauelshagen [Wed, 30 May 2018 10:44:24 +0000 (12:44 +0200)]
segtype: add linear
Add linear segtype addressing FIXME in preparation
for linear <-> striped convenience conversion support
Joe Thornber [Mon, 4 Jun 2018 14:37:35 +0000 (15:37 +0100)]
build: base/Makefile
.gitignore hid it.
Joe Thornber [Mon, 4 Jun 2018 12:53:07 +0000 (13:53 +0100)]
build: libbase.a
Joe Thornber [Mon, 4 Jun 2018 12:22:14 +0000 (13:22 +0100)]
build: get separate builddir working again
Joe Thornber [Mon, 4 Jun 2018 11:28:17 +0000 (12:28 +0100)]
build: More tweaks to python include dirs.
Joe Thornber [Mon, 4 Jun 2018 10:59:49 +0000 (11:59 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2
Joe Thornber [Mon, 4 Jun 2018 10:59:13 +0000 (11:59 +0100)]
build: Get python dir building without the include/ dir
Zdenek Kabelac [Mon, 4 Jun 2018 10:25:48 +0000 (12:25 +0200)]
build: fixes
Zdenek Kabelac [Mon, 4 Jun 2018 10:16:30 +0000 (12:16 +0200)]
build: remove any leftover file
In case repository is used after building older version of lvm2
(i.e. git bisect) make sure clean erases any possible old symlinks.
Joe Thornber [Mon, 4 Jun 2018 09:00:44 +0000 (10:00 +0100)]
build: link lvm2_activation_generator_systemd_red_hat with libdevice-mapper.a
Zdenek Kabelac [Fri, 1 Jun 2018 18:24:45 +0000 (20:24 +0200)]
build: compile fixes
Joe Thornber [Fri, 1 Jun 2018 18:19:11 +0000 (19:19 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2
Joe Thornber [Fri, 1 Jun 2018 18:18:36 +0000 (19:18 +0100)]
build: get clvmd building again
David Teigland [Fri, 1 Jun 2018 15:40:28 +0000 (10:40 -0500)]
scan: clean exit for alloc failure
David Teigland [Fri, 1 Jun 2018 15:15:48 +0000 (10:15 -0500)]
devs: clear coverity warning about null info
a theoretical possibility.
David Teigland [Fri, 1 Jun 2018 15:12:04 +0000 (10:12 -0500)]
lvmlockd: clarify lock_type use for coverity
Make it clearer when vg->lock_type will be used so
coverity doesn't worry about it.
David Teigland [Fri, 1 Jun 2018 15:04:54 +0000 (10:04 -0500)]
lvmlockd: primarily use vg_is_shared
to check if a vg uses an lvmlockd lock_type,
instead of the equivalent but longer is_lockd_type.
Joe Thornber [Fri, 1 Jun 2018 16:20:48 +0000 (17:20 +0100)]
build: Link with -lrt
Needed for older version of glibc
Joe Thornber [Fri, 1 Jun 2018 15:53:20 +0000 (16:53 +0100)]
build: make sure selinux, udev and blkid libraries are linked.
Fixes breakage from the recent libdm split. Though these didn't
ever appear to be linked (could they have piggy backed from libdevmapper.so
being linked to them?).
Joe Thornber [Fri, 1 Jun 2018 12:04:12 +0000 (13:04 +0100)]
Merge branch 'master' into 2018-05-11-fork-libdm
Joe Thornber [Fri, 1 Jun 2018 11:45:33 +0000 (12:45 +0100)]
Merge branch '2018-05-30-bcache-radix-tree'
David Teigland [Thu, 31 May 2018 21:38:39 +0000 (16:38 -0500)]
man lvmlockd: update list of limitations
David Teigland [Thu, 31 May 2018 21:18:53 +0000 (16:18 -0500)]
tests: enable non-working tests with lvmlockd
Those that are failing for reasons other than lvmlockd
restrictions.
David Teigland [Thu, 31 May 2018 20:55:18 +0000 (15:55 -0500)]
tests: enable more working tests with lvmlockd
David Teigland [Thu, 31 May 2018 20:52:23 +0000 (15:52 -0500)]
lvmlockd: improve error message for existing lockspace
When a VG/lockspace already exists with the same name
don't just print the error number.
David Teigland [Thu, 31 May 2018 20:37:25 +0000 (15:37 -0500)]
tests: enable lvcreate-pvtags with lvmlockd
David Teigland [Thu, 31 May 2018 20:35:48 +0000 (15:35 -0500)]
lvmlockd: fix reverting new lv in error path
The wrong name was being used to free the LV lock
in lvmlockd in the error exit path.
David Teigland [Thu, 31 May 2018 20:12:34 +0000 (15:12 -0500)]
tests: enable metadata-balance with lvmlockd
David Teigland [Thu, 31 May 2018 19:49:16 +0000 (14:49 -0500)]
tests: enable lvmlockd with tests using lvcreate -H -L LV
David Teigland [Thu, 31 May 2018 19:20:11 +0000 (14:20 -0500)]
lvmlockd: enable lvcreate -H -L LV
Allow this command in a shared VG which had previously been
disallowed.
Joe Thornber [Thu, 31 May 2018 15:36:04 +0000 (16:36 +0100)]
Merge branch 'master' into 2018-05-30-bcache-radix-tree
David Teigland [Thu, 31 May 2018 15:23:03 +0000 (10:23 -0500)]
vgs: add report field for shared
equivalent to a non-empty -o locktype.
David Teigland [Wed, 30 May 2018 21:40:03 +0000 (16:40 -0500)]
tests: change lvcreate syntax to allow lvmlockd
Using the less ambiguous lvcreate syntax for creating a
cache LV allows more tests to run with lvmlockd.
David Teigland [Wed, 30 May 2018 20:56:08 +0000 (15:56 -0500)]
tests: enable lvcreate cache tests with lvmlockd
Tests that want to use lvcreate to create a new
origin LV and then combine it with an existing
cache pool to create a cache LV.
David Teigland [Wed, 30 May 2018 20:24:24 +0000 (15:24 -0500)]
lvmlockd: enable lvcreate of new LV plus existing cache pool
In this command, lvcreate creates a new LV and then combines
it with an existing cache pool, producing a cache LV. This
command was previously not allowed in in a shared VG.
David Teigland [Wed, 30 May 2018 18:56:06 +0000 (13:56 -0500)]
tests: enable pvmove-restart with lvmlockd
David Teigland [Wed, 30 May 2018 17:55:49 +0000 (12:55 -0500)]
tests: enable vg repair tests with lvmlockd
David Teigland [Wed, 30 May 2018 17:48:18 +0000 (12:48 -0500)]
lvmlockd: enable repairing shared VG while reading it
When the lvmlockd lock is shared, upgrade it to ex
when repair (writing) is needed during vg_read.
Pass the lockd state through additional read-related
functions so the instances of repair scattered through
vg_read can be handled.
(Temporary solution until the ad hoc repairs can be
pulled out of vg_read into a top level, centralized
repair function.)
David Teigland [Fri, 25 May 2018 22:02:25 +0000 (17:02 -0500)]
tests: add missing file
David Teigland [Fri, 25 May 2018 20:59:17 +0000 (15:59 -0500)]
tests: process-each-duplicate-pvs update for lvmlockd
David Teigland [Fri, 25 May 2018 20:57:17 +0000 (15:57 -0500)]
pvremove: skip lvmlockd locks for forced clearing
pvremove -ff to force clear a PV shouldn't care if
lvmlockd locks fail.
David Teigland [Fri, 25 May 2018 20:26:30 +0000 (15:26 -0500)]
lvmlockd: fix vgimportclone of a shared VG
The new VG from the duplicate PV is imported
as a local VG.
David Teigland [Fri, 25 May 2018 19:34:38 +0000 (14:34 -0500)]
tests: vgchange-usage update for lvmlockd
David Teigland [Fri, 25 May 2018 19:28:53 +0000 (14:28 -0500)]
tests: vgcreate-usage update for lvmlockd
David Teigland [Thu, 24 May 2018 14:49:48 +0000 (09:49 -0500)]
tests: enable lvmlockd for passing tests
David Teigland [Fri, 25 May 2018 18:26:16 +0000 (13:26 -0500)]
lvmlockd: enable creation of cache pool with lvcreate
Previously, cache pools needed to be created with lvconvert.
David Teigland [Fri, 25 May 2018 17:53:53 +0000 (12:53 -0500)]
lvmlockd: enable lvcreate of thin pool and thin lv in one command
Previously, thin pools and thin lvs need needed to be
created with separate commands, now the combined command
is permitted.
David Teigland [Thu, 24 May 2018 20:02:35 +0000 (15:02 -0500)]
lvmlockd: enable mirror split and merge with dlm lock_type
David Teigland [Wed, 23 May 2018 15:15:39 +0000 (10:15 -0500)]
config: revert to normal locking when no cluster
and suggest lvmlockd
David Teigland [Thu, 24 May 2018 16:41:14 +0000 (11:41 -0500)]
lvmlockd: do not use an LV lock for some lvchange options
Some lvchange options can be used even if the LV is active.
David Teigland [Wed, 23 May 2018 18:56:49 +0000 (13:56 -0500)]
tests: separate lvmlockd tests with or without lvmetad
David Teigland [Wed, 23 May 2018 18:16:48 +0000 (13:16 -0500)]
lvmlockd: accept repeated global lock requests
It's not an error if a command requests the global lock
when it has already acquired it. It shouldn't happen,
but there could be cases we've not found.
David Teigland [Wed, 23 May 2018 18:04:47 +0000 (13:04 -0500)]
tests: some missed skip with lvmlockd
David Teigland [Wed, 23 May 2018 17:56:33 +0000 (12:56 -0500)]
tests: fix skipping logic for lvmpolld and lvmlockd
David Teigland [Tue, 29 May 2018 22:02:27 +0000 (17:02 -0500)]
scan: removed failed paths for devices
Drop a device path when the scan fails to open it.
Joe Thornber [Wed, 30 May 2018 13:14:59 +0000 (14:14 +0100)]
radix-tree: fix some bugs in remove_prefix and iterate
These weren't working if the prefix key was part of a prefix_chain.
Joe Thornber [Wed, 30 May 2018 13:17:26 +0000 (14:17 +0100)]
bcache: switch to storing blocks in a radix tree.
Rather than a hash table. This will make invalidate_fd() more
efficient since we can iterate just those blocks that are on
a particular dev.
Joe Thornber [Wed, 30 May 2018 13:14:59 +0000 (14:14 +0100)]
radix-tree: fix some bugs in remove_prefix and iterate
These weren't working if the prefix key was part of a prefix_chain.
Joe Thornber [Tue, 29 May 2018 16:58:58 +0000 (17:58 +0100)]
radix-tree: radix_tree_iterate()
Joe Thornber [Tue, 29 May 2018 12:25:59 +0000 (13:25 +0100)]
radix-tree: radix_tree_remove_prefix()
Joe Thornber [Tue, 29 May 2018 10:23:36 +0000 (11:23 +0100)]
radix-tree: call the value dtr when removing an entry.
Joe Thornber [Tue, 29 May 2018 10:04:32 +0000 (11:04 +0100)]
Merge branch '2018-05-29-radix-tree-iterate' into 2018-05-23-radix-tree-remove
Joe Thornber [Tue, 29 May 2018 10:03:10 +0000 (11:03 +0100)]
data-struct/radix-tree: pass the value dtr into create.
Rather than having to pass it into every method that removes items.
David Teigland [Fri, 25 May 2018 16:14:12 +0000 (11:14 -0500)]
scan: refresh paths and retry open
If scanning fails to open any devices, refresh the
device paths in dev cache, and retry the opens.
Alasdair G Kergon [Fri, 9 Feb 2018 01:08:55 +0000 (01:08 +0000)]
format_text: Use versionsort to sort archive files
Ensure that vg_100000-* follows vg_99999-* so that the expiry logic
doesn't stop too early.
https://bugzilla.redhat.com/
1481085
Marian Csontos [Thu, 24 May 2018 15:32:42 +0000 (17:32 +0200)]
Merge remote-tracking branch 'origin/master'
Zdenek Kabelac [Thu, 24 May 2018 13:20:22 +0000 (15:20 +0200)]
tests: improve usability on older systems
Zdenek Kabelac [Thu, 24 May 2018 13:01:52 +0000 (15:01 +0200)]
man: another missed typo for thin plugin
Marian Csontos [Thu, 24 May 2018 13:23:08 +0000 (15:23 +0200)]
post-release
Marian Csontos [Thu, 24 May 2018 13:13:10 +0000 (15:13 +0200)]
pre-release
Joe Thornber [Thu, 24 May 2018 11:32:16 +0000 (12:32 +0100)]
release note: typos
Joe Thornber [Thu, 24 May 2018 11:26:34 +0000 (12:26 +0100)]
release note: typo
This page took 0.066846 seconds and 5 git commands to generate.