]> sourceware.org Git - lvm2.git/log
lvm2.git
6 years agopvmove: require LV name in a shared VG
David Teigland [Tue, 19 Sep 2017 18:08:41 +0000 (13:08 -0500)]
pvmove: require LV name in a shared VG

In a shared VG, only allow pvmove with a named LV,
so that only PE's used by the LV will be moved.
The LV is then activated exclusively, ensuring that
the PE's being moved are not used from another host.

Previously, pvmove was mistakenly allowed on a full PV.
This won't work when LVs using that PV are active on
other hosts.

6 years agolvmlockd: activate mirror LVs in shared mode with cmirrord
David Teigland [Tue, 19 Sep 2017 16:52:36 +0000 (11:52 -0500)]
lvmlockd: activate mirror LVs in shared mode with cmirrord

Previously lvmlockd disallowed mirror LVs to be activated
in shared mode.

6 years agotests: use portable df output
Zdenek Kabelac [Wed, 20 Sep 2017 13:34:02 +0000 (15:34 +0200)]
tests: use portable df output

For awk parsing more 'predictable' format of output line is needed.

6 years agotests: repair of cachepool
Zdenek Kabelac [Wed, 20 Sep 2017 10:28:39 +0000 (12:28 +0200)]
tests: repair of cachepool

6 years agotests: check for free space in test dir
Zdenek Kabelac [Mon, 11 Sep 2017 12:33:07 +0000 (14:33 +0200)]
tests: check for free space in test dir

Avoid starting test, when test dir has less then 50M of free space.
Better to crash early before letting die machine on weird crash
in OOM cases...

Also show free disk space when test starts

6 years agolibdm: fix parentheses in assignment + comparison
Zdenek Kabelac [Wed, 20 Sep 2017 12:21:38 +0000 (14:21 +0200)]
libdm: fix parentheses in assignment + comparison

As reported, fix incorrect placement of parentheses.
TODO: add testing code.

6 years agolvconvert: support repair of cache/cachepool
Zdenek Kabelac [Mon, 18 Sep 2017 09:33:47 +0000 (11:33 +0200)]
lvconvert: support repair of cache/cachepool

Extend repair for cache and cachepool target
and user 'lvconvert_repair' routine name.

6 years agolvconvert: repair supports poometadatespare switch
Zdenek Kabelac [Wed, 13 Sep 2017 09:48:15 +0000 (11:48 +0200)]
lvconvert: repair supports poometadatespare switch

Enable handling of  --poolmetadataspare so if user can prevent
creation of _pmspare volume during --repair operation (just
like during actual lvcreate or lvconvert) for pool volumes.

6 years agoconfigure: Add warning for D-Bus w/o notifications
Marian Csontos [Wed, 20 Sep 2017 08:25:29 +0000 (10:25 +0200)]
configure: Add warning for D-Bus w/o notifications

Building D-Bus support without notifications is not recommended.

6 years agoconfigure: Update configure
Marian Csontos [Wed, 20 Sep 2017 08:13:39 +0000 (10:13 +0200)]
configure: Update configure

6 years agoliblvm: Add deprecation warning to configure
Marian Csontos [Wed, 20 Sep 2017 08:00:59 +0000 (10:00 +0200)]
liblvm: Add deprecation warning to configure

6 years agoliblvm: Deprecate library and bindings
Marian Csontos [Tue, 19 Sep 2017 13:17:01 +0000 (15:17 +0200)]
liblvm: Deprecate library and bindings

It is recommended to use D-Bus API instead of liblvm2app or python
bindings.

6 years agotoollib: fix parentheses in assignment + comparison
David Teigland [Tue, 19 Sep 2017 14:19:24 +0000 (09:19 -0500)]
toollib: fix parentheses in assignment + comparison

6 years agoman pvscan: just write --activate in description
David Teigland [Mon, 18 Sep 2017 15:56:39 +0000 (10:56 -0500)]
man pvscan: just write --activate in description

rather than -a|--activate, because web pages on
man7.org are not printing the | character.

7 years agodmsetup: Process -S to filter input device lists.
Alasdair G Kergon [Thu, 14 Sep 2017 22:41:17 +0000 (23:41 +0100)]
dmsetup: Process -S to filter input device lists.

The following commands now pass the device list through a
--select|-S filter before processing:

suspend resume clear wipe_table remove deps status table

7 years agolvcreate: use cmd defs to deny unspported lockd cases
David Teigland [Thu, 14 Sep 2017 17:20:29 +0000 (12:20 -0500)]
lvcreate: use cmd defs to deny unspported lockd cases

In a shared VG, lvconvert must be used to create thin pools
and cache pools, not the lvcreate variants of those commands.
Deny these cases early in lvcreate using the new command defs.
Denying these cases deeper in the code was missing some
cleanup of the partially completed command.

7 years agorevert tidy: prefer not using else after return
David Teigland [Thu, 14 Sep 2017 17:15:59 +0000 (12:15 -0500)]
revert tidy: prefer not using else after return

Revert the lvmlockd.c changes from:
  commit 0bf836aa14f98eb83969a6e81695a024f56a5eb5
  "tidy: prefer not using else after return"

The commit introduced at least one regression, which broke
lvcreate of a thin pool in a shared VG.

7 years agokernel: Refresh dm-ioctl.h
Alasdair G Kergon [Thu, 14 Sep 2017 16:50:56 +0000 (17:50 +0100)]
kernel: Refresh dm-ioctl.h

Adds DM_DEV_ARM_POLL

7 years agopost-release v2_02_174
Alasdair G Kergon [Wed, 13 Sep 2017 19:46:25 +0000 (20:46 +0100)]
post-release

7 years agopre-release
Alasdair G Kergon [Wed, 13 Sep 2017 19:38:29 +0000 (20:38 +0100)]
pre-release

7 years agoREADME: Include new github links
Alasdair G Kergon [Wed, 13 Sep 2017 19:20:04 +0000 (20:20 +0100)]
README: Include new github links

We've decided to mirror the upstream code onto github for the
convenience of people already using that platform.

7 years agodeamonize: restore detection of errors
Zdenek Kabelac [Wed, 6 Sep 2017 09:47:53 +0000 (11:47 +0200)]
deamonize: restore detection of errors

Keep forked environment for daemon more strick and check even
for nearly impossible to happen errors.

7 years agolvmlockd: always disallow mirror splitting
David Teigland [Tue, 5 Sep 2017 15:26:58 +0000 (10:26 -0500)]
lvmlockd: always disallow mirror splitting

lv_raid_split() was correctly prevented in a shared VG,
but lv_raid_split_and_track() was missing that check.

7 years agolvmlockd: fix check for no running lock manager
David Teigland [Tue, 29 Aug 2017 20:18:12 +0000 (15:18 -0500)]
lvmlockd: fix check for no running lock manager

In some cases it was reporting there was no running
lock manager when there is.

7 years agolvmlockd: print error about starting lock manager
David Teigland [Mon, 28 Aug 2017 21:24:00 +0000 (16:24 -0500)]
lvmlockd: print error about starting lock manager

In the case where lvmlockd is running, but no lock manager
is running, we should print a specific error message about
that situation.

7 years agocleanup: easier to read code
Zdenek Kabelac [Fri, 25 Aug 2017 09:53:26 +0000 (11:53 +0200)]
cleanup: easier to read code

Split into lines for better reading.

7 years agodmsetup: validate strtol reading
Zdenek Kabelac [Fri, 25 Aug 2017 09:48:17 +0000 (11:48 +0200)]
dmsetup: validate strtol reading

Better validation for --mode option.

7 years agodmsetup: add missing -- for option
Zdenek Kabelac [Fri, 25 Aug 2017 09:47:36 +0000 (11:47 +0200)]
dmsetup: add missing -- for option

7 years agoreporting: validate time parsing with strtol
Zdenek Kabelac [Fri, 25 Aug 2017 09:58:33 +0000 (11:58 +0200)]
reporting: validate time parsing with strtol

Check for out-of-range numbers being result of strtol parsing.

7 years agolvmlockd: log pthread_join errno code
Zdenek Kabelac [Fri, 25 Aug 2017 09:52:09 +0000 (11:52 +0200)]
lvmlockd: log pthread_join errno code

Log possible errno with pthread_join (and one close() instance).

7 years agolvmlockctl: fix check for failing close
Zdenek Kabelac [Fri, 25 Aug 2017 09:57:49 +0000 (11:57 +0200)]
lvmlockctl: fix check for failing close

On  close() failure it's -1.

7 years agolvmlockd: avoid double unlock of client_mutex
Zdenek Kabelac [Fri, 25 Aug 2017 12:07:45 +0000 (14:07 +0200)]
lvmlockd: avoid double unlock of client_mutex

Avoid double unlocking of client_mutex and
and unlock client_mutex in 'else' branch
since it's already unlocked in 'if (cl->dead)' branch.

7 years agodaemonize: more unified code
Zdenek Kabelac [Fri, 25 Aug 2017 09:55:38 +0000 (11:55 +0200)]
daemonize: more unified code

ATM we have several instances of daemonizing code.
Each has its 'special' logic so not completely easy
to unify them all into a single routine.

Start to unify them and use one strategy for rediricting
all input/outpus to /dev/null - use 'dup2' function for this
and open /dev/null before fork to make sure it's available.

7 years agolocking: avoid descriptor leak for nonblocking mode
Zdenek Kabelac [Fri, 25 Aug 2017 09:59:19 +0000 (11:59 +0200)]
locking: avoid descriptor leak for nonblocking mode

When file-locking mode failed on locking, such description was leaked
(typically not an issue since command usually exists afterwards).
So shirt close() at the end of function and use it in all error paths.

Also make sure, when interrrupt is detected, it's really not holding
lock and returns 0.

7 years agoman lvmthin: change fsck references
David Teigland [Thu, 24 Aug 2017 15:25:01 +0000 (10:25 -0500)]
man lvmthin: change fsck references

to more generic terms like repair.

7 years agolvmlockd: fix mutex unlock
David Teigland [Wed, 23 Aug 2017 16:30:55 +0000 (11:30 -0500)]
lvmlockd: fix mutex unlock

Remove an unwanted pthread_mutex_unlock which would
lead to a double unlock.

7 years agolvmlockd: add comment about temp ls name
David Teigland [Wed, 23 Aug 2017 16:25:18 +0000 (11:25 -0500)]
lvmlockd: add comment about temp ls name

7 years agodebug: add stack trace point
Zdenek Kabelac [Tue, 22 Aug 2017 08:19:52 +0000 (10:19 +0200)]
debug: add stack trace point

7 years agolvmcache: check for lvmcache_foreach_mda return code
Zdenek Kabelac [Wed, 16 Aug 2017 12:29:12 +0000 (14:29 +0200)]
lvmcache: check for lvmcache_foreach_mda return code

lvmcache_foreach_mda() can fail for numerous reasons
and failing error code cannot be ignored (out-of-memory...)

TODO: might need more error handling tunning.

7 years agolvmlockd: shorter code
Zdenek Kabelac [Wed, 16 Aug 2017 12:12:48 +0000 (14:12 +0200)]
lvmlockd: shorter code

gcc warns here about storring 69 bytes in 64 byte array (losing
potentially 4 bytes from 'ls->name').

lvmlockd-core.c:2657:36: warning: ‘%s’ directive output may be truncated writing up to 64 bytes into a region of size 60 [-Wformat-truncation=]
  snprintf(tmp_name, MAX_NAME, "REM:%s", ls->name);
                                    ^~
lvmlockd-core.c:2657:2: note: ‘snprintf’ output between 5 and 69 bytes into a destination of size 64
  snprintf(tmp_name, MAX_NAME, "REM:%s", ls->name);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Replaced with slightly better code - but it still misses error path what
to do if the name would be truncated... - so added FIXME.

Also using all bytes for snprintf() buffer size
(as the size is with \0 included)

7 years agolibdm: fix errpath for control node creation
Zdenek Kabelac [Tue, 22 Aug 2017 08:19:40 +0000 (10:19 +0200)]
libdm: fix errpath for control node creation

When control node failure happens, umask was not restored.
Fix it by using common exit path.

7 years agolvmlockd: zero extended lvmlock LV
David Teigland [Tue, 15 Aug 2017 16:53:21 +0000 (11:53 -0500)]
lvmlockd: zero extended lvmlock LV

After the internal lvmlock LV (holding sanlock leases) is
extended to hold more leases, it needs to be zeroed.
sanlock expects to see either zeroed blocks or blocks
initialized with leases.

7 years agolvmlockd: reduce io impact for finding sanlock lv free lock offset
Zhang Huan [Tue, 15 Aug 2017 15:42:44 +0000 (10:42 -0500)]
lvmlockd: reduce io impact for finding sanlock lv free lock offset

currently, lvcreate for sanlock find the free lock offset
from the beginning of the lvmlock every time.
after created thousands of lvs, it will issue thousands of read
ios for lvcreate to find free lock offset.
remeber the last free lock offset will greatly reduce the impact

Signed-off-by: Zhang Huan <zhanghuan@huayun.com>
7 years agotest: pvcreate-bootloaderarea: pvcreate --restorefile --bootloaderarea not supported...
Peter Rajnoha [Tue, 15 Aug 2017 12:15:41 +0000 (14:15 +0200)]
test: pvcreate-bootloaderarea: pvcreate --restorefile --bootloaderarea not supported anymore

The fact that this combination is not supported anymore is tested
already in pvcreate-operation.sh test.

7 years agopvcreate: fix check for 2nd mda at end of disk fits if using pvcreate --restorefile
Peter Rajnoha [Tue, 15 Aug 2017 11:23:51 +0000 (13:23 +0200)]
pvcreate: fix check for 2nd mda at end of disk fits if using pvcreate --restorefile

Fix code checking that the 2nd mda which is at the end of disk really
fits the available free space and avoid any DA and MDA interleaving when
we already have DA preallocated. This mainly applies when we're restoring
a PV from VG backup using pvcreate --restorefile where we may already have
some DA preallocated - this means the PV was in a VG before with already
allocated space from it (the LVs were created). Hence we need to avoid
stepping into DA - the MDA can never ever be inside in such case!

The code responsible for this calculation was already in
_text_pv_add_metadata_area fn, but it had a bug in the calculation where
we subtracted one more sector by mistake and then the code could still
incorrectly allocate the MDA inside existing DA. The patch also renames
the variable in the code so it doesn't confuse us in future.

Also, if the 2nd mda doesn't fit, don't silently continue with just 1
MDA (at the start of the disk). If 2nd mda was requested and we can't
create that due to unavailable space, error out correctly (the patch
also adds a test to shell/pvcreate-operation.sh for this case).

7 years agoraid: more validation checks for segment data_offset member
Heinz Mauelshagen [Mon, 14 Aug 2017 13:00:15 +0000 (15:00 +0200)]
raid: more validation checks for segment data_offset member

Upgrade commit fb641c342343ac48cc623c8079900b1f4f395a69 with additional checks.

7 years agopvcreate: Use maximum metadata area size with --restorefile
Alasdair G Kergon [Fri, 11 Aug 2017 19:41:37 +0000 (20:41 +0100)]
pvcreate: Use maximum metadata area size with --restorefile

If the PV was originally created with a larger-than-default
metadata area the restored one wasn't and might not even be
large enough to hold the metadata!

7 years agopvcreate: Wipe cached bootloaderarea when wiping label.
Alasdair G Kergon [Fri, 11 Aug 2017 19:32:04 +0000 (20:32 +0100)]
pvcreate: Wipe cached bootloaderarea when wiping label.

Previously the cache remembered an existing bootloaderarea and
reinstated it (without even checking for overlap) when asked to
write out the PV.  pvcreate could write out an incorrect layout.

7 years agopvcreate: Disallow --bootloaderareasize with --restorefile.
Alasdair G Kergon [Fri, 11 Aug 2017 19:28:53 +0000 (20:28 +0100)]
pvcreate: Disallow --bootloaderareasize with --restorefile.

The backup file already holds the bootloader area details to use so
don't overcomplicate things.

7 years agocommands: recognize lvm command -?
David Teigland [Wed, 9 Aug 2017 20:06:36 +0000 (15:06 -0500)]
commands: recognize lvm command -?

and interpret it as lvm command -h

7 years agocommands: recognize -? for help
David Teigland [Wed, 9 Aug 2017 14:34:33 +0000 (09:34 -0500)]
commands: recognize -? for help

It's not known when this last worked, but there has
been documentation suggesting it worked, so enable it.

7 years agolvmlockd: global name doesn't apply to sanlock
David Teigland [Mon, 7 Aug 2017 15:43:28 +0000 (10:43 -0500)]
lvmlockd: global name doesn't apply to sanlock

When adopting locks, we shouldn't skip the special
dlm global lockspace name when using sanlock.

7 years agolvmlockd: fix lm running check during adoption
David Teigland [Mon, 7 Aug 2017 15:37:22 +0000 (10:37 -0500)]
lvmlockd: fix lm running check during adoption

When trying to adopt locks in startup, we want to ignore
a lock manager that isn't running, not fail.

7 years agolvmconfig: Add options to produce file preamble
Alasdair G Kergon [Sat, 5 Aug 2017 15:18:36 +0000 (16:18 +0100)]
lvmconfig: Add options to produce file preamble

Use --withgeneralpreamble and --withlocalpreamble instead of
concatenating files.

7 years agodmsetup: Add --concise to dmsetup create.
Alasdair G Kergon [Fri, 4 Aug 2017 18:38:34 +0000 (19:38 +0100)]
dmsetup: Add --concise to dmsetup create.

Add the new concise format to dmsetup create, either as a single
command-line parameter or from stdin.

Based on patches submitted by
Enric Balletbo i Serra <enric.balletbo@collabora.com>.

7 years agoioctl: Allow minor without major.
Alasdair G Kergon [Fri, 4 Aug 2017 13:45:20 +0000 (14:45 +0100)]
ioctl: Allow minor without major.

There's no need to insist on a major number being supplied when the
code's going to override it if it's wrong anyway.

7 years agotests: update checked message
Zdenek Kabelac [Tue, 1 Aug 2017 22:04:35 +0000 (00:04 +0200)]
tests: update checked message

7 years agotests: update makefiles
Zdenek Kabelac [Tue, 1 Aug 2017 16:53:25 +0000 (18:53 +0200)]
tests: update makefiles

7 years agomakefiles: add DEFS_$@ for cxx
Zdenek Kabelac [Tue, 1 Aug 2017 16:13:21 +0000 (18:13 +0200)]
makefiles: add DEFS_$@ for cxx

Add DEFS_$@ for c++  (used only by test suite...)
Just to pair plain C build rules.

7 years agomakefiles: script executable missed dynamic
Zdenek Kabelac [Tue, 1 Aug 2017 16:19:12 +0000 (18:19 +0200)]
makefiles: script executable missed dynamic

Add missing  ELDFLAGS when linking binary.
Also pass CFLAGS for cases where we build code coverage compilation.

7 years agomakefiles: fix tested vars
Zdenek Kabelac [Tue, 1 Aug 2017 16:18:05 +0000 (18:18 +0200)]
makefiles: fix tested vars

For resolving usability of DEBUG_MEM - check proper translated make
vars for proper value.

7 years agoconfigure: tune BUILD_DMEVENTD
Zdenek Kabelac [Tue, 1 Aug 2017 16:17:06 +0000 (18:17 +0200)]
configure: tune  BUILD_DMEVENTD

Drop 'DMEVENT' make variable and use  BUILD_DMEVENTD like with other daemons.
NOTE: by default we do not build dmeventd - maybe time to change
as lot of build targets basically do need dmeventd...

Switch to use SYSTEMD_LIBS and avoid linking systemd library with
every linked tool when dbus notification are enabled.
(TODO  add missing testing for lib presence)

7 years agoconfigure: improve test for realtime clock
Zdenek Kabelac [Tue, 1 Aug 2017 10:41:45 +0000 (12:41 +0200)]
configure: improve test for realtime clock

Check first if we need to even link -lrt  - since clock functions
are normally emebeded with recent  glibc (>=2.17)
Use standard  RT_LIBS name.
Avoid duplicate test for realtime clock with lvmlockd
Show better error message when realtime clock support is missing or
disabled.
Link  RT_LIBS explicitely with lvmlockd and lvmetad.

7 years agotests: update makefile
Zdenek Kabelac [Tue, 1 Aug 2017 09:19:21 +0000 (11:19 +0200)]
tests: update makefile

7 years agomakefiles: cleanups
Zdenek Kabelac [Mon, 31 Jul 2017 21:58:51 +0000 (23:58 +0200)]
makefiles: cleanups

7 years agomakefiles: fixing linking
Zdenek Kabelac [Mon, 31 Jul 2017 22:01:07 +0000 (00:01 +0200)]
makefiles: fixing linking

Avoid adding -g more then once for debug builds.
Avoid enabling  DEBUG_MEM when we build multithreaded tools.
Link executables with -fPIE -pie and --export-dynamic LDFLAGS
Introduce PROGS_FLAGS to add option to pass flags for external libs.
Link  lvm2 internally library only when really used.
Link DAEMON_LIBS with daemons.
Pass VALGRIND_CFLAGS internally
Set shell failure mode on couple places.

7 years agomakefiles: use gcc warns with gcc only
Zdenek Kabelac [Mon, 31 Jul 2017 22:04:20 +0000 (00:04 +0200)]
makefiles: use gcc warns with gcc only

Avoid passing  'gcc' warning options to non-gcc compiler

7 years agomakefiles: RT_LIB
Zdenek Kabelac [Mon, 31 Jul 2017 21:56:58 +0000 (23:56 +0200)]
makefiles: RT_LIB

Link -lrt directly only with  libdevmapper.
All other users get dependency transiently.

7 years agolibdm: log_warn
Zdenek Kabelac [Mon, 24 Jul 2017 12:40:41 +0000 (14:40 +0200)]
libdm: log_warn

No real effect anyway - function returs '1' in all paths,
but just make sure we do not have 'log_error()' on non-error path.

7 years agoman: fix generated paths
Zdenek Kabelac [Tue, 1 Aug 2017 09:17:04 +0000 (11:17 +0200)]
man: fix generated paths

Use user configured paths instead of some developers paths ;)

7 years agothin: warn about too big chunks size
Zdenek Kabelac [Fri, 21 Jul 2017 18:58:33 +0000 (20:58 +0200)]
thin: warn about too big chunks size

lvm2 warned about zeroing and too big chunksize (>=512KiB), but
only during lvconvert, so lvcreate was creating thin-pools
without any warning about possible slowness of thin provisioning
because of zeroing.

7 years agotoolcontext: Improve invalid units error message.
Alasdair G Kergon [Wed, 26 Jul 2017 23:51:50 +0000 (00:51 +0100)]
toolcontext: Improve invalid units error message.

7 years agotools: Introduce exit code EINIT_FAILED.
Alasdair G Kergon [Wed, 26 Jul 2017 22:18:03 +0000 (23:18 +0100)]
tools: Introduce exit code EINIT_FAILED.

Replace -1 (reported as 255) by 4.

7 years agodmsetup: Add minor number to concise table output format.
Alasdair G Kergon [Tue, 25 Jul 2017 11:22:46 +0000 (12:22 +0100)]
dmsetup: Add minor number to concise table output format.

When using this new format for input, it'll sometimes help to
be able to specify the minor number.

7 years agomake generate
Alasdair G Kergon [Tue, 25 Jul 2017 00:26:58 +0000 (01:26 +0100)]
make generate

7 years agodmsetup: Add concise table output format.
Alasdair G Kergon [Tue, 25 Jul 2017 00:13:14 +0000 (01:13 +0100)]
dmsetup: Add concise table output format.

Create a new table output format that concisely shows multiple devices
on one line.

dmsetup table --concise [device...]

<dev_name>,<uuid>,<flags>[,<table>]*[;<dev_name>,<uuid>,<flags>[,<table>]*]*

Table lines are separated by commas.
Devices are separated by semi-colons.
Flags is currently 'ro' or 'rw' (and might be extended in a
yet-to-be-defined way in future).
Any comma, semi-colon or backslash within a field is quoted by a
preceding backslash.

The format can later be supplied as input to dmsetup or even to the
booting kernel as an alternative way to set up devices.

Based on patches submitted by
Enric Balletbo i Serra <enric.balletbo@collabora.com>.

7 years agocommands: expand comment on configuring option vals
David Teigland [Thu, 20 Jul 2017 21:54:40 +0000 (16:54 -0500)]
commands: expand comment on configuring option vals

7 years agoman: remove hyphen escapes from source
David Teigland [Thu, 20 Jul 2017 21:26:13 +0000 (16:26 -0500)]
man: remove hyphen escapes from source

they are escaped by running sed in makefile

7 years agovgchange: split out code for systemid
David Teigland [Thu, 13 Jul 2017 18:43:39 +0000 (13:43 -0500)]
vgchange: split out code for systemid

Use the command definitions to separate the implementation
of vgchange systemid from the rest of vgchange.

7 years agovgchange: split out code for lockstart and lockstop
David Teigland [Thu, 13 Jul 2017 18:26:10 +0000 (13:26 -0500)]
vgchange: split out code for lockstart and lockstop

Use the command definitions to separate the implementation
of lockstop and lockstart from the rest of vgchange.

7 years agovgchange: separate change locktype and allow recovery
David Teigland [Wed, 12 Jul 2017 21:03:41 +0000 (16:03 -0500)]
vgchange: separate change locktype and allow recovery

Add an independent command definition for "vgchange --locktype",
and split the implementation out of the set of common metadata
changes.  It is unlike normal metadata changes, and can only
be run by itself.  (Changing the lock type is similar in
principle to changing the VG name or the VG system ID; it
effects the ability of any host to see or access the VG.)

At some point this command lost the ability to forcibly change
the lock type of a shared VG to "none" (making it a local VG).
This can be necessary to repair shared VGs (e.g. recovery steps
that occur in vg_read are disabled for shared VGs because
they are not locked properly, or recovering sanlock locks
when the PV holding them is lost.)

"vgchange --locktype none --lockopt force VG" is used as the
method of forcing the shared VG to become local so that it
can be repaired.

7 years agotidy: declaration names match implementation
Zdenek Kabelac [Thu, 20 Jul 2017 17:13:32 +0000 (19:13 +0200)]
tidy: declaration names match implementation

Put in sync some naming used for function declaration and
actual in-code implementation.

7 years agoraid: reshape synchronization point
Zdenek Kabelac [Thu, 20 Jul 2017 17:04:59 +0000 (19:04 +0200)]
raid: reshape synchronization point

Give udev time to get in sync and give md-core time to wake up
after table reload.

7 years agopost-release
Alasdair G Kergon [Thu, 20 Jul 2017 16:19:09 +0000 (17:19 +0100)]
post-release

7 years agopre-release v2_02_173
Alasdair G Kergon [Thu, 20 Jul 2017 15:57:27 +0000 (16:57 +0100)]
pre-release

7 years agoraid: avoid lv_size compiler warning
Alasdair G Kergon [Thu, 20 Jul 2017 15:16:51 +0000 (16:16 +0100)]
raid: avoid lv_size compiler warning

warning: declaration of ‘lv_size’ shadows a global declaration

7 years agoraid: move syncing with udev into function
Zdenek Kabelac [Thu, 20 Jul 2017 11:46:39 +0000 (13:46 +0200)]
raid: move syncing with udev into function

Since _deactivate_and_remove_lvs() is used in more then one place,
move the needed udev synchronization into this function so other
users automatically get correct fs state before next dm manipulation.

Assumption here is that this udev synchronization 'delay' may also
prevent to 'early' table reloads which might cause kernel problems
for md-core - but we may need more generic time-limited reload
frequency for raid devices.

Note: on udev-less system there will be almost no delay.

7 years agotests: aus.sh fix md teardown
Zdenek Kabelac [Thu, 20 Jul 2017 10:15:06 +0000 (12:15 +0200)]
tests: aus.sh fix md teardown

Commit 8a912d6dbcc34ce2b76a0104c39de7aa0480c512 missed the wrong logic,
we use 2 vars 'dev' & 'mddev' and their usage can't be mixed.

So correctly separate them so mddev keeps name of MD device.

7 years agotidy: drop unneeded cast
Zdenek Kabelac [Thu, 20 Jul 2017 07:57:09 +0000 (09:57 +0200)]
tidy: drop unneeded cast

Avoid casting to the same type.

7 years agotidy: name all parameters
Zdenek Kabelac [Thu, 20 Jul 2017 08:30:00 +0000 (10:30 +0200)]
tidy: name all parameters

7 years agotidy: drop unneeded return
Zdenek Kabelac [Wed, 19 Jul 2017 21:53:16 +0000 (23:53 +0200)]
tidy: drop unneeded return

7 years agotidy: else after continue
Zdenek Kabelac [Wed, 19 Jul 2017 21:12:48 +0000 (23:12 +0200)]
tidy: else after continue

Similar as with 'else' after 'return'  unindent whole block
for better readability of code.

7 years agotidy: prefer not using else after return
Zdenek Kabelac [Wed, 19 Jul 2017 14:16:12 +0000 (16:16 +0200)]
tidy: prefer not using else after return

clang-tidy: avoid using  'else' after return - give more readable code,
and also saves indention level.

7 years agocleanup: add braces in macro
Zdenek Kabelac [Wed, 19 Jul 2017 14:17:30 +0000 (16:17 +0200)]
cleanup: add braces in macro

7 years agocleanup: constify used parameter
Zdenek Kabelac [Wed, 19 Jul 2017 14:15:15 +0000 (16:15 +0200)]
cleanup: constify used parameter

7 years agodmsetup: simplify check of parsed cookie value
Zdenek Kabelac [Wed, 19 Jul 2017 20:04:37 +0000 (22:04 +0200)]
dmsetup: simplify check of parsed cookie value

Improving parsing error detection for strtoul.

7 years agotests: aux.sh fix wait_pvmove_lv_ready
Zdenek Kabelac [Wed, 19 Jul 2017 10:15:39 +0000 (12:15 +0200)]
tests: aux.sh fix wait_pvmove_lv_ready

Ignore error if the 'queried' LV is still not available
(since 'get' now properly returns failure when LV is missing)

7 years agotests: aus.sh better defaults
Zdenek Kabelac [Tue, 18 Jul 2017 19:25:03 +0000 (21:25 +0200)]
tests: aus.sh better defaults

7 years agotests: avoid endless loops
Zdenek Kabelac [Tue, 18 Jul 2017 19:17:51 +0000 (21:17 +0200)]
tests: avoid endless loops

If there is some problem with device removal avoid generating very long
error logs...

7 years agotests: aux.sh limit device
Zdenek Kabelac [Tue, 18 Jul 2017 11:14:02 +0000 (13:14 +0200)]
tests: aux.sh limit device

During test do a more close selection of visible devices.
If some test leaks a device with LVMTEST prefix, next
test should not be influnced (or parallel running one).

If the test is running in non-/dev  dir - it's already protected
by full path with $PREFIX in it - however it test is running
in real /dev dir - there was no such protection and test
were confused when they have seen such leaked device.

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