]> sourceware.org Git - lvm2.git/log
lvm2.git
6 years agodevice_mapper: remove dbg_malloc.
Joe Thornber [Fri, 8 Jun 2018 12:40:53 +0000 (13:40 +0100)]
device_mapper: remove dbg_malloc.

I wrote dbg_malloc before we had valgrind.  These days there's just
no need.

6 years agolibdm: Stop libdm/misc/dmlib.h from including lib/misc/lib.h
Joe Thornber [Fri, 8 Jun 2018 12:01:41 +0000 (13:01 +0100)]
libdm: Stop libdm/misc/dmlib.h from including lib/misc/lib.h

6 years agodevice_mapper: rename libdevmapper.h -> all.h
Joe Thornber [Fri, 8 Jun 2018 11:31:45 +0000 (12:31 +0100)]
device_mapper: rename libdevmapper.h -> all.h

I'm paranoid a file will include the global one in /usr/include
by accident.

6 years agobase: Move list to base/data-struct
Joe Thornber [Fri, 8 Jun 2018 10:24:18 +0000 (11:24 +0100)]
base: Move list to base/data-struct

6 years agotest/unit: Rename Makefile.in -> Makefile
Joe Thornber [Fri, 8 Jun 2018 08:50:40 +0000 (09:50 +0100)]
test/unit: Rename Makefile.in -> Makefile

There's nothing being expanded.

6 years agoMerge branch '2018-06-05-remove-applib'
Joe Thornber [Fri, 8 Jun 2018 08:42:22 +0000 (09:42 +0100)]
Merge branch '2018-06-05-remove-applib'

6 years agoUpdate WHATS_NEW
Joe Thornber [Fri, 8 Jun 2018 08:42:05 +0000 (09:42 +0100)]
Update WHATS_NEW

6 years agoliblvm: remove lvmapi
Joe Thornber [Fri, 8 Jun 2018 08:38:05 +0000 (09:38 +0100)]
liblvm: remove lvmapi

This has been deprecated for a while.

6 years agoRework lock-override options and locking_type settings
David Teigland [Thu, 7 Jun 2018 20:33:02 +0000 (15:33 -0500)]
Rework lock-override options and locking_type settings

The last commit related to this was incomplete:
  "Implement lock-override options without locking type"

This is further reworking and reduction of the locking.[ch]
layer which handled all clustering, but is now only used
for file locking.  The "locking types" that this layer
implemented were removed previously, leaving only the
standard file locking.  (Some cluster-related artifacts
remain to be cleared out later.)

Command options to override or modify locking behavior
are reimplemented here without using the locking types.
Also, deprecated locking_type values are recognized,
and implemented as if one of the equivalent override
options was set.

Options that override file locking are:

. --nolocking disables all file locking.

. --readonly grants read lock requests without actually
  taking a file lock, and refuses write lock requests.

. --ignorelockingfailure tries to set up file locks and
  uses them normally if possible.  When not possible, it
  behaves like --readonly, but allows activation.

. --sysinit is the same as ignorelockingfailure.

. global/metadata_read_only acquires actual read file
  locks, and refuses write lock requests.

(Some of these options could probably be deprecated
because they were added as workarounds to various
locking_type behaviors that are now deprecated.)

The locking_type setting now has one valid value: 1 which
refers to standard file locking.  Configs that contain
deprecated values are recognized and still work in
largely the same way:

. 0 disabled all locking, now implemented like --nolocking
  is set.  Allow the nolocking option in all commands.

. 1 is the normal file locking setting and is unchanged.

. 2 was for external locking which was not used, and
  reverts to normal file locking.

. 3 was for cluster/clvm.  This reverts to normal file
  locking, and prints messages about lvmlockd.

. 4 was equivalent to readonly, now implemented like
  --readonly is set.

. 5 disabled all locking, now implemented like
  --nolocking is set.

6 years agoman lvmlockd: remove unnecessary reference to lvmetad
David Teigland [Thu, 7 Jun 2018 18:42:11 +0000 (13:42 -0500)]
man lvmlockd: remove unnecessary reference to lvmetad

it's optional to use it with lvmlockd

6 years agotest/unit: activation generator unit tests
Joe Thornber [Thu, 7 Jun 2018 15:24:42 +0000 (16:24 +0100)]
test/unit: activation generator unit tests

6 years agoMerge branch 'master' of git+ssh://sourceware.org/git/lvm2
Joe Thornber [Thu, 7 Jun 2018 15:20:49 +0000 (16:20 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2

6 years agoImplement lock-override options without locking type
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.

6 years agotests: system_id remove clustered vg test
David Teigland [Wed, 6 Jun 2018 19:35:27 +0000 (14:35 -0500)]
tests: system_id remove clustered vg test

6 years agotests: remove -cn option from some commands
David Teigland [Wed, 6 Jun 2018 19:04:19 +0000 (14:04 -0500)]
tests: remove -cn option from some commands

6 years agoRemove locking infrastructure from activation paths
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.

6 years agouse exclusive file lock on VG for activation
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.

6 years agoRemove VG lock ordering check
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.

6 years agoRemove unused clvm variations for active LVs
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.

6 years agoRemove more clvm code
David Teigland [Tue, 5 Jun 2018 16:39:07 +0000 (11:39 -0500)]
Remove more clvm code

6 years agolvmlockd: fix missing lock_type null check
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

6 years agodevices: clean up io error messages
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.

6 years agoscripts/lvm2_activation_generator_systemd_red_hat: rewrite to use lvmconfig
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).

6 years agoImplement lock-override options without locking type
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.

6 years agotests: system_id remove clustered vg test
David Teigland [Wed, 6 Jun 2018 19:35:27 +0000 (14:35 -0500)]
tests: system_id remove clustered vg test

6 years agotests: remove -cn option from some commands
David Teigland [Wed, 6 Jun 2018 19:04:19 +0000 (14:04 -0500)]
tests: remove -cn option from some commands

6 years agoRemove locking infrastructure from activation paths
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.

6 years agouse exclusive file lock on VG for activation
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.

6 years agoRemove VG lock ordering check
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.

6 years agoRemove unused clvm variations for active LVs
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.

6 years agoRemove more clvm code
David Teigland [Tue, 5 Jun 2018 16:39:07 +0000 (11:39 -0500)]
Remove more clvm code

6 years agolvmlockd: fix missing lock_type null check
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

6 years agodevices: clean up io error messages
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.

6 years agodevice_mapper: fixup a couple of includes
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"

6 years agoRemove clvmd and associated code
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.

6 years agoWHATS_NEW
Heinz Mauelshagen [Tue, 5 Jun 2018 14:24:19 +0000 (16:24 +0200)]
WHATS_NEW

6 years agotest: add convcenience conversion tests linear <-> striped
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

6 years agolvconvert: support linear <-> striped convenience conversions
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

6 years agosegtype: add linear
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

6 years agobuild: base/Makefile
Joe Thornber [Mon, 4 Jun 2018 14:37:35 +0000 (15:37 +0100)]
build: base/Makefile

.gitignore hid it.

6 years agobuild: libbase.a
Joe Thornber [Mon, 4 Jun 2018 12:53:07 +0000 (13:53 +0100)]
build: libbase.a

6 years agobuild: get separate builddir working again
Joe Thornber [Mon, 4 Jun 2018 12:22:14 +0000 (13:22 +0100)]
build: get separate builddir working again

6 years agobuild: More tweaks to python include dirs.
Joe Thornber [Mon, 4 Jun 2018 11:28:17 +0000 (12:28 +0100)]
build: More tweaks to python include dirs.

6 years agoMerge branch 'master' of git+ssh://sourceware.org/git/lvm2
Joe Thornber [Mon, 4 Jun 2018 10:59:49 +0000 (11:59 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2

6 years agobuild: Get python dir building without the include/ dir
Joe Thornber [Mon, 4 Jun 2018 10:59:13 +0000 (11:59 +0100)]
build: Get python dir building without the include/ dir

6 years agobuild: fixes
Zdenek Kabelac [Mon, 4 Jun 2018 10:25:48 +0000 (12:25 +0200)]
build: fixes

6 years agobuild: remove any leftover file
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.

6 years agobuild: link lvm2_activation_generator_systemd_red_hat with libdevice-mapper.a
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

6 years agobuild: compile fixes
Zdenek Kabelac [Fri, 1 Jun 2018 18:24:45 +0000 (20:24 +0200)]
build: compile fixes

6 years agoMerge branch 'master' of git+ssh://sourceware.org/git/lvm2
Joe Thornber [Fri, 1 Jun 2018 18:19:11 +0000 (19:19 +0100)]
Merge branch 'master' of git+ssh://sourceware.org/git/lvm2

6 years agobuild: get clvmd building again
Joe Thornber [Fri, 1 Jun 2018 18:18:36 +0000 (19:18 +0100)]
build: get clvmd building again

6 years agoscan: clean exit for alloc failure
David Teigland [Fri, 1 Jun 2018 15:40:28 +0000 (10:40 -0500)]
scan: clean exit for alloc failure

6 years agodevs: clear coverity warning about null info
David Teigland [Fri, 1 Jun 2018 15:15:48 +0000 (10:15 -0500)]
devs: clear coverity warning about null info

a theoretical possibility.

6 years agolvmlockd: clarify lock_type use for coverity
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.

6 years agolvmlockd: primarily use vg_is_shared
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.

6 years agobuild: Link with -lrt
Joe Thornber [Fri, 1 Jun 2018 16:20:48 +0000 (17:20 +0100)]
build: Link with -lrt

Needed for older version of glibc

6 years agobuild: make sure selinux, udev and blkid libraries are linked.
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?).

6 years agoMerge branch 'master' into 2018-05-11-fork-libdm
Joe Thornber [Fri, 1 Jun 2018 12:04:12 +0000 (13:04 +0100)]
Merge branch 'master' into 2018-05-11-fork-libdm

6 years agoMerge branch '2018-05-30-bcache-radix-tree'
Joe Thornber [Fri, 1 Jun 2018 11:45:33 +0000 (12:45 +0100)]
Merge branch '2018-05-30-bcache-radix-tree'

6 years agoman lvmlockd: update list of limitations
David Teigland [Thu, 31 May 2018 21:38:39 +0000 (16:38 -0500)]
man lvmlockd: update list of limitations

6 years agotests: enable non-working tests with lvmlockd
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.

6 years agotests: enable more working tests with lvmlockd
David Teigland [Thu, 31 May 2018 20:55:18 +0000 (15:55 -0500)]
tests: enable more working tests with lvmlockd

6 years agolvmlockd: improve error message for existing lockspace
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.

6 years agotests: enable lvcreate-pvtags with lvmlockd
David Teigland [Thu, 31 May 2018 20:37:25 +0000 (15:37 -0500)]
tests: enable lvcreate-pvtags with lvmlockd

6 years agolvmlockd: fix reverting new lv in error path
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.

6 years agotests: enable metadata-balance with lvmlockd
David Teigland [Thu, 31 May 2018 20:12:34 +0000 (15:12 -0500)]
tests: enable metadata-balance with lvmlockd

6 years agotests: enable lvmlockd with tests using lvcreate -H -L LV
David Teigland [Thu, 31 May 2018 19:49:16 +0000 (14:49 -0500)]
tests: enable lvmlockd with tests using lvcreate -H -L LV

6 years agolvmlockd: enable 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.

6 years agoMerge branch 'master' into 2018-05-30-bcache-radix-tree
Joe Thornber [Thu, 31 May 2018 15:36:04 +0000 (16:36 +0100)]
Merge branch 'master' into 2018-05-30-bcache-radix-tree

6 years agovgs: add report field for shared
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.

6 years agotests: change lvcreate syntax to allow lvmlockd
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.

6 years agotests: enable lvcreate cache tests 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.

6 years agolvmlockd: enable lvcreate of new LV plus existing cache pool
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.

6 years agotests: enable pvmove-restart with lvmlockd
David Teigland [Wed, 30 May 2018 18:56:06 +0000 (13:56 -0500)]
tests: enable pvmove-restart with lvmlockd

6 years agotests: enable vg repair tests with lvmlockd
David Teigland [Wed, 30 May 2018 17:55:49 +0000 (12:55 -0500)]
tests: enable vg repair tests with lvmlockd

6 years agolvmlockd: enable repairing shared VG while reading it
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.)

6 years agotests: add missing file
David Teigland [Fri, 25 May 2018 22:02:25 +0000 (17:02 -0500)]
tests: add missing file

6 years agotests: process-each-duplicate-pvs update for lvmlockd
David Teigland [Fri, 25 May 2018 20:59:17 +0000 (15:59 -0500)]
tests: process-each-duplicate-pvs update for lvmlockd

6 years agopvremove: skip lvmlockd locks for forced clearing
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.

6 years agolvmlockd: fix vgimportclone of a shared VG
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.

6 years agotests: vgchange-usage update for lvmlockd
David Teigland [Fri, 25 May 2018 19:34:38 +0000 (14:34 -0500)]
tests: vgchange-usage update for lvmlockd

6 years agotests: vgcreate-usage update for lvmlockd
David Teigland [Fri, 25 May 2018 19:28:53 +0000 (14:28 -0500)]
tests: vgcreate-usage update for lvmlockd

6 years agotests: enable lvmlockd for passing tests
David Teigland [Thu, 24 May 2018 14:49:48 +0000 (09:49 -0500)]
tests: enable lvmlockd for passing tests

6 years agolvmlockd: enable creation of cache pool with lvcreate
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.

6 years agolvmlockd: enable lvcreate of thin pool and thin lv in one command
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.

6 years agolvmlockd: enable mirror split and merge with dlm lock_type
David Teigland [Thu, 24 May 2018 20:02:35 +0000 (15:02 -0500)]
lvmlockd: enable mirror split and merge with dlm lock_type

6 years agoconfig: revert to normal locking when no cluster
David Teigland [Wed, 23 May 2018 15:15:39 +0000 (10:15 -0500)]
config: revert to normal locking when no cluster

and suggest lvmlockd

6 years agolvmlockd: do not use an LV lock for some lvchange options
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.

6 years agotests: separate lvmlockd tests with or without lvmetad
David Teigland [Wed, 23 May 2018 18:56:49 +0000 (13:56 -0500)]
tests: separate lvmlockd tests with or without lvmetad

6 years agolvmlockd: accept repeated global lock requests
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.

6 years agotests: some missed skip with lvmlockd
David Teigland [Wed, 23 May 2018 18:04:47 +0000 (13:04 -0500)]
tests: some missed skip with lvmlockd

6 years agotests: fix skipping logic for lvmpolld and lvmlockd
David Teigland [Wed, 23 May 2018 17:56:33 +0000 (12:56 -0500)]
tests: fix skipping logic for lvmpolld and lvmlockd

6 years agoscan: removed failed paths for devices
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.

6 years agoradix-tree: fix some bugs in remove_prefix and iterate
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.

6 years agobcache: switch to storing blocks in a radix tree.
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.

6 years agoradix-tree: fix some bugs in remove_prefix and iterate
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.

6 years agoradix-tree: radix_tree_iterate()
Joe Thornber [Tue, 29 May 2018 16:58:58 +0000 (17:58 +0100)]
radix-tree: radix_tree_iterate()

6 years agoradix-tree: radix_tree_remove_prefix()
Joe Thornber [Tue, 29 May 2018 12:25:59 +0000 (13:25 +0100)]
radix-tree: radix_tree_remove_prefix()

6 years agoradix-tree: call the value dtr when removing an entry.
Joe Thornber [Tue, 29 May 2018 10:23:36 +0000 (11:23 +0100)]
radix-tree: call the value dtr when removing an entry.

6 years agoMerge branch '2018-05-29-radix-tree-iterate' into 2018-05-23-radix-tree-remove
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

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