]> sourceware.org Git - lvm2.git/log
lvm2.git
7 years agolibdm: don't nest FIEMAP and DMFILEMAPD ifdefs
Bryn M. Reeves [Thu, 9 Mar 2017 21:13:51 +0000 (21:13 +0000)]
libdm: don't nest FIEMAP and DMFILEMAPD ifdefs

7 years agoconfigure: make --enable-dmfilemapd require fiemap.h
Bryn M. Reeves [Thu, 9 Mar 2017 21:12:53 +0000 (21:12 +0000)]
configure: make --enable-dmfilemapd require fiemap.h

7 years agoraid: add missing lv_merge_segments() call
Heinz Mauelshagen [Thu, 9 Mar 2017 21:18:34 +0000 (22:18 +0100)]
raid: add missing lv_merge_segments() call

On conversion from striped to raid0, data LVs are created
and all segments and their respective areas of the striped
LV are moved across to new segments allocated for the raid0
image LVs.  This can cause non-canonical segments to be added
to the image LVs.

Add a call to lv_merge_segments() once all segments have been
added to an image LV to compensate for that.  This avoids
unsafe table loads on activation.

Fix comments.

7 years agodmeventd: (workaround) fix mirror DSO to work with lvmetad
Heinz Mauelshagen [Thu, 9 Mar 2017 19:41:07 +0000 (20:41 +0100)]
dmeventd: (workaround) fix mirror DSO to work with lvmetad

Automatic dmeventd repair of mirrors with active lvmetad configured
(mirror_image_fault_policy = "allocate") fails because the lvscan
run before the repair in the mirror DSO does not update the
lvmetad cache properly thus "lvconvert --repair ..." fails.

Need to scan the mirror LV before and after the repair
to have proper cache content after the repair finished.
The cache can't be relied on or the repair will fail.

Resolves: rhbz1380521

7 years agoman: add FILE MAPPING section to dmstats.8.in
Bryn M. Reeves [Sun, 18 Dec 2016 18:14:04 +0000 (18:14 +0000)]
man: add FILE MAPPING section to dmstats.8.in

Add a section to explain file mapping, outside of the individual
command descriptions, and to describe the limitations of the
current update strategy.

7 years agoman: add dmfilemapd options to dmstats.8.in
Bryn M. Reeves [Sat, 17 Dec 2016 16:41:00 +0000 (16:41 +0000)]
man: add dmfilemapd options to dmstats.8.in

Add descriptions of --follow and --nomonitor, and the behaviour
of create and update_filemap when starting dmfilemapd.

7 years agodmstats: start dmfilemapd when creating or updating file maps
Bryn M. Reeves [Fri, 16 Dec 2016 13:42:08 +0000 (13:42 +0000)]
dmstats: start dmfilemapd when creating or updating file maps

Launch an instance of the filemap monitoring daemon when creating,
or updating, a file mapped group, unless the --nomonitor switch is
given.

Unless --foreground is given the daemon will detach from the
terminal and run in the background until it is signaled or the
daemon termination conditions are met.

The --follow={inode|path} switch is added to control the daemon
behaviour when files are moved, unlinked, or renamed while they
are being monitored.

The daemon runs with the same verbosity as the dmstats command
that starts it.

7 years agoman: add dmfilemapd.8
Bryn M. Reeves [Sat, 17 Dec 2016 16:24:35 +0000 (16:24 +0000)]
man: add dmfilemapd.8

7 years agodaemons: add dmfilemapd
Bryn M. Reeves [Thu, 15 Dec 2016 20:10:27 +0000 (20:10 +0000)]
daemons: add dmfilemapd

Add a daemon that can be launched to monitor a group of regions
corresponding to the extents of a file, and to update the regions as the
file's allocation changes.

The daemon is intended to be started from a library interface, but can
also be run from the command line:

  dmfilemapd <fd> <group_id> <path> <mode> [<foreground>[<log_level>]]

Where fd is a file descriptor open on the mapped file, group_id is the
group identifier of the mapped group and mode is either "inode" or
"path". E.g.:

  # dmfilemapd 3 0 vm.img inode 1 3 3<vm.img
  ...

If foreground is non-zero, the daemon will not fork to run in the
background. If verbose is non-zero, libdm and daemon log messages will
be printed.

It is possible for the group identifier to change when regions are
re-mapped: this occurs when the group leader is deleted (regroup=1 in
dm_stats_update_regions_from_fd()), and another region is created before
the daemon has a chance to recreate the leader region.

The operation is inherently racey since there is currently no way to
atomically move or resize a dm_stats region while retaining its
region_id.

Detect this condition and update the group_id value stored in the
filemap monitor.

A function is also provided in the the stats API to launch the filemap
monitoring daemon:

  int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path,
                              dm_filemapd_mode_t mode, unsigned foreground,
                              unsigned verbose);

This carries out the first fork and execs dmfilemapd with the arguments
specified.

A dm_filemapd_mode_t value is specified by the mode argument: either
DM_FILEMAPD_FOLLOW_INODE, or DM_FILEMAPD_FOLLOW_PATH. A helper function,
dm_filemapd_mode_from_string(), is provided to parse a string containing
a valid mode name into the appropriate dm_filemapd_mode_t value.

7 years agolibdm: remove unnecessary backtrace in _stats_group_id_present()
Bryn M. Reeves [Thu, 9 Mar 2017 17:33:02 +0000 (17:33 +0000)]
libdm: remove unnecessary backtrace in _stats_group_id_present()

It's not an error to call dm_stats_group_present() on a handle
that contains no regions.

This causes dmfilemap to log a false backtrace during shutdown
if all regions are removed from the corresponding device:

  exiting _filemap_monitor_get_events() with deleted=0, check=0
  waiting for FILEMAPD_WAIT
  dm message   (253:1) [ opencount flush ]  @stats_list dmstats [32768] (*1)
  <backtrace>
  Filemap group removed: exiting.

Change this to only emit a backtrace if the handle is NULL.

7 years agoman lvmraid: remove fixmes, use consistent example name
David Teigland [Thu, 9 Mar 2017 17:48:30 +0000 (11:48 -0600)]
man lvmraid: remove fixmes, use consistent example name

7 years agotests relative-sign-options: only skip thin part
David Teigland [Thu, 9 Mar 2017 17:29:54 +0000 (11:29 -0600)]
tests relative-sign-options: only skip thin part

7 years agotests relative-sign-options.sh: skip without thin
David Teigland [Thu, 9 Mar 2017 16:43:41 +0000 (10:43 -0600)]
tests relative-sign-options.sh: skip without thin

7 years agolvresize: poolmetadatasize cannot use minus
David Teigland [Thu, 9 Mar 2017 15:49:33 +0000 (09:49 -0600)]
lvresize: poolmetadatasize cannot use minus

7 years agolvconvert: prompt when splitting off LV of a 2-legged raid1 LV
Heinz Mauelshagen [Thu, 9 Mar 2017 12:59:47 +0000 (13:59 +0100)]
lvconvert: prompt when splitting off LV of a 2-legged raid1 LV

Splitting off an image LV of a 2-legged
raid1 LV causes loss of resilience.

Ask user to avoid uninformed loss of all resilience.

Don't ask for N > 2 legged raid1 LVs.

Adjust tests.

7 years agotest: raid1 down convert to linear
Heinz Mauelshagen [Thu, 9 Mar 2017 12:21:21 +0000 (13:21 +0100)]
test: raid1 down convert to linear

Missed one test in last commit.

7 years agotest: raid1 down convert to linear
Heinz Mauelshagen [Thu, 9 Mar 2017 12:16:08 +0000 (13:16 +0100)]
test: raid1 down convert to linear

Add/adjust more tests for commit 7fbe6ef16bfb.

7 years agolvconvert: remove superfluous compile time conditonal code
Heinz Mauelshagen [Thu, 9 Mar 2017 11:16:11 +0000 (12:16 +0100)]
lvconvert: remove superfluous compile time conditonal code

7 years agotest: raid1 down convert to linear / split and track tests
Heinz Mauelshagen [Thu, 9 Mar 2017 03:01:47 +0000 (04:01 +0100)]
test: raid1 down convert to linear / split and track tests

Add/adjust tests for commits d250aa7208a6 and 7fbe6ef16bfb.

7 years agolvconvert: prompt when splitting off a tracked LV of a 2-legged raid1 LV
Heinz Mauelshagen [Thu, 9 Mar 2017 02:22:55 +0000 (03:22 +0100)]
lvconvert: prompt when splitting off a tracked LV of a 2-legged raid1 LV

Splitting off an image LV of a 2-legged raid1 LV tracking changes
causes loosing partial resilience for any newly written data set.
Full resilience will be provided again after the split off image LV
got merged back in and the new data set got fully synchronized.
Reason being that the data is only stored on the remaining single
writable image during the split.

Ask user to avoid uninformed loss of such partial resilience.

Don't ask for N > 2 legged raid1 LVs.

7 years agolvconvert: prompt when converting raid1 to linear
Heinz Mauelshagen [Thu, 9 Mar 2017 01:39:49 +0000 (02:39 +0100)]
lvconvert: prompt when converting raid1 to linear

Ask user when converting raid1 to linear to avoid
uninformed loss of all resilience.

7 years agotest: "lvconvert --repair" after vgreduce
Heinz Mauelshagen [Thu, 9 Mar 2017 01:35:57 +0000 (02:35 +0100)]
test: "lvconvert --repair" after vgreduce

Add test for commit 921b496fff51.

7 years agoraid: fix function description
Heinz Mauelshagen [Thu, 9 Mar 2017 01:16:03 +0000 (02:16 +0100)]
raid: fix function description

7 years agolvconvert: fix --repair after vgreduce
Heinz Mauelshagen [Thu, 9 Mar 2017 01:11:52 +0000 (02:11 +0100)]
lvconvert: fix --repair after vgreduce

In case N images fail (N <= parity chunks) _and_
a "vgreduce --removemissing --force VG" was applied
a following repair of the RaidLV fails:

  Unable to remove N images:  Only 0 devices given.
  Failed to remove the specified images from tb/r.
  Failed to replace faulty devices in tb/r.

Fix as of this commit results in correct repair:

  Faulty devices in tb/r successfully replaced.

7 years agotest: Copyright
Heinz Mauelshagen [Wed, 8 Mar 2017 23:10:55 +0000 (00:10 +0100)]
test: Copyright

7 years agohelp: fix missing required option
David Teigland [Wed, 8 Mar 2017 21:00:27 +0000 (15:00 -0600)]
help: fix missing required option

Fix for previous commit 4d0172ff15c.

7 years agoman/help: use order of required options from cmd def
David Teigland [Wed, 8 Mar 2017 20:51:08 +0000 (14:51 -0600)]
man/help: use order of required options from cmd def

Follow the same as written in command-lines.in

7 years agoman: add more references to topical man pages
David Teigland [Wed, 8 Mar 2017 20:43:30 +0000 (14:43 -0600)]
man: add more references to topical man pages

7 years agotests: add test for relative option values
David Teigland [Wed, 8 Mar 2017 19:51:33 +0000 (13:51 -0600)]
tests: add test for relative option values

Combinations of: lvcreate/lvresize/lvextend/lvreduce,
--size/--extents/--poolmetadatasize, +/-/nosign.

7 years agocommands: clean up and unify signed option value handling
David Teigland [Tue, 7 Mar 2017 22:55:07 +0000 (16:55 -0600)]
commands: clean up and unify signed option value handling

Add new values for different sign variations, resulting in:

size_VAL      no sign accepted
ssize_VAL     accepts + or -
psize_VAL     accepts +
nsize_VAL     accpets -

extents_VAL   no sign accepted
sextents_VAL  accepts + or -
pextents_VAL  accepts +
nextents_VAL  accepts -

Depending on the command being run, change the option
values for --size, --extents, --poolmetadatasize to
use the appropriate value from above.

lvcreate uses no sign (but accepts + and ignores it).
lvresize accepts +|- for a relative change.
lvextend accepts + for a relative change.
lvreduce accepts - for a relative change.

7 years agoreport: fix segfault
Heinz Mauelshagen [Wed, 8 Mar 2017 17:31:20 +0000 (18:31 +0100)]
report: fix segfault

Commit f4b30b0daef3 which was about displaying visible
LV size when reshape space is allocated did not account
for undefined first lv segment.

7 years agocommands: combine duplicate arrays for lv types and props
David Teigland [Tue, 7 Mar 2017 18:08:23 +0000 (12:08 -0600)]
commands: combine duplicate arrays for lv types and props

Like opt and val arrays in previous commit, combine duplicate
arrays for lv types and props in command.c and lvmcmdline.c.
Also move the command_names array to be defined in command.c
so it's consistent with the others.

7 years agocommands: combine duplicate arrays for opt and val
David Teigland [Tue, 7 Mar 2017 17:47:44 +0000 (11:47 -0600)]
commands: combine duplicate arrays for opt and val

command.c and lvmcmdline.c each had a full array defining
all options and values.  This duplication was not removed
when the command.c code was merged into the run time.

7 years agohelp: avoid end notes repetition in lvm help all
David Teigland [Tue, 7 Mar 2017 18:01:06 +0000 (12:01 -0600)]
help: avoid end notes repetition in lvm help all

7 years agometadata: comments
Heinz Mauelshagen [Wed, 8 Mar 2017 14:13:59 +0000 (15:13 +0100)]
metadata: comments

log_count,nosync,stripes,stripe_size,,...  are also used for raid.

7 years agoraid: define seg->extents_copied
Heinz Mauelshagen [Tue, 7 Mar 2017 22:28:09 +0000 (23:28 +0100)]
raid: define seg->extents_copied

seg->extents_copied has to be defined properly on reducing
the size of a raid LV or conversion from raid5 with 1 stripe
to raid1 will fail.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agoreport: correct lv_size for 2-legged raid5
Heinz Mauelshagen [Tue, 7 Mar 2017 21:36:50 +0000 (22:36 +0100)]
report: correct lv_size for 2-legged raid5

Reshaping a raid5 LV to one stripe aiming to convert it to
raid1 (and optionally to linear) reports the wrong LV size
when still having reshape space allocated.

7 years agoraid: fix raid LV resizing
Heinz Mauelshagen [Tue, 7 Mar 2017 21:05:23 +0000 (22:05 +0100)]
raid: fix raid LV resizing

The lv_extend/_lv_reduce API doesn't cope with resizing RaidLVs
with allocated reshape space and ongoing conversions.  Prohibit
resizing during conversions and remove the reshape space before
processing resize.  Add missing seg->data_copies initialisation.

Fix typo/comment.

7 years agoraid: cleanup _lv_set_image_lvs_start_les()
Heinz Mauelshagen [Tue, 7 Mar 2017 20:55:19 +0000 (21:55 +0100)]
raid: cleanup _lv_set_image_lvs_start_les()

Avoid second loop.

7 years agolvconvert: adjust --stripes on raid10 convert
Heinz Mauelshagen [Tue, 7 Mar 2017 20:36:03 +0000 (21:36 +0100)]
lvconvert: adjust --stripes on raid10 convert

For the time being raid10 is limited to even number of total stripes
as is and 2 data copies.  The number of stripes provided on creation
of a raid10(_near) LV with -i/--stripes gets doubled to define
that even total number of stripes (i.e. images).

Apply the same on disk adding conversions (reshapes) with
"lvconvert --stripes RaidLV" (e.g. 2 stripes = 4 images
total converted to 3 stripes = 6 images total).

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agoreport: display proper LV size for reshapable RaidLVs
Heinz Mauelshagen [Tue, 7 Mar 2017 17:47:20 +0000 (18:47 +0100)]
report: display proper LV size for reshapable RaidLVs

Subtract reshape space when reporting visible lv_size on RaidLV.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agotest: add delay to lvchange-raid1-writemostly.sh
Heinz Mauelshagen [Tue, 7 Mar 2017 14:18:13 +0000 (15:18 +0100)]
test: add delay to lvchange-raid1-writemostly.sh

Commit 8ab072507706 introduced this new test.

Add a read delay to the PVs to avoid a race
in the script causing the test to fail.

Correct comment.

7 years agoman lvs: describe new 'R' volume health character
Heinz Mauelshagen [Mon, 6 Mar 2017 18:33:10 +0000 (19:33 +0100)]
man lvs: describe new 'R' volume health character

7 years agoman/help: improve stripes option wording
David Teigland [Mon, 6 Mar 2017 18:01:11 +0000 (12:01 -0600)]
man/help: improve stripes option wording

7 years agoman lvextend: mention segment type
David Teigland [Mon, 6 Mar 2017 17:27:56 +0000 (11:27 -0600)]
man lvextend: mention segment type

7 years agotest: fix typo
Heinz Mauelshagen [Fri, 3 Mar 2017 22:22:29 +0000 (23:22 +0100)]
test: fix typo

7 years agoman: move the full UNIT description
David Teigland [Fri, 3 Mar 2017 22:10:40 +0000 (16:10 -0600)]
man: move the full UNIT description

Part of the UNIT description was still living in the
--size description.  Move it to the Size[UNIT] description
since it is used by other options, not just --size.

7 years agoman/help: poolmetadatasize option can take relative value
David Teigland [Fri, 3 Mar 2017 21:57:51 +0000 (15:57 -0600)]
man/help: poolmetadatasize option can take relative value

In lvcreate/lvconvert, --poolmetdatasize can only be an
absolute value, but in lvresize/lvextend, --poolmetadatasize
can be given a + relative value.

The val types only currently support relative values that
go in both directions +|-.  Further work is needed to add
val types that can be relative in only one direction, and
switching various option values to one those depending on
the command name.  Then poolmetdatasize will not appear
with a +|- option in lvcreate/lvconvert, and will
appear with only the + option in lvresize/lvextend.

7 years agoreport: raid enhancements for --select
Heinz Mauelshagen [Fri, 3 Mar 2017 21:29:50 +0000 (22:29 +0100)]
report: raid enhancements for --select

Enhance the raid report functions for the recently added LV fields
reshape_len, reshape_len_le, data_offset, new_data_offset, data_copies,
data_stripes and parity_chunks to cope with "lvs --select".

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agoman: fix term in lvmraid(7)
Heinz Mauelshagen [Fri, 3 Mar 2017 21:24:13 +0000 (22:24 +0100)]
man: fix term in lvmraid(7)

Adjust commit af7c8e710663 to use "image/leg".

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agohelp: show short opt with long opt
David Teigland [Fri, 3 Mar 2017 21:12:46 +0000 (15:12 -0600)]
help: show short opt with long opt

e.g. show -n|--name instead of just --name

7 years agodev_manager: remove reshape message
Heinz Mauelshagen [Fri, 3 Mar 2017 21:10:21 +0000 (22:10 +0100)]
dev_manager: remove reshape message

The dm-raid target doesn't support a "reshape" message.

7 years agoman/help: rework extents and size output
David Teigland [Fri, 3 Mar 2017 20:21:36 +0000 (14:21 -0600)]
man/help: rework extents and size output

Clean up and correct the details around --extents and --size.

lvcreate/lvresize/lvreduce/lvextend all now display the
extents option in usages.

The Size and Number value variables for --size and --extents
are now displayed without the [+|-] prefix for lvcreate.

7 years agoman/help: improve the PV range description
David Teigland [Fri, 3 Mar 2017 17:07:49 +0000 (11:07 -0600)]
man/help: improve the PV range description

7 years agoargs: in cachemode option fix passthrough value
David Teigland [Fri, 3 Mar 2017 16:53:18 +0000 (10:53 -0600)]
args: in cachemode option fix passthrough value

7 years agoargs: update select description
David Teigland [Fri, 3 Mar 2017 15:53:11 +0000 (09:53 -0600)]
args: update select description

mention --select help and --options help.

7 years agoman lvcreate: show extents option
David Teigland [Thu, 2 Mar 2017 22:56:32 +0000 (16:56 -0600)]
man lvcreate: show extents option

Display --extents as an option in each cmd def,
in addition to the special notes about how
--size and --extents are alternatives.

7 years agoman lvcreate: remove the extents prefix
David Teigland [Thu, 2 Mar 2017 22:42:46 +0000 (16:42 -0600)]
man lvcreate: remove the extents prefix

This applies the same hack to --extents (dropping
the [+|-] prefix), as commit b7831fc14a did for --size.

7 years agohelp: show extents option for lvcreate
David Teigland [Thu, 2 Mar 2017 22:33:14 +0000 (16:33 -0600)]
help: show extents option for lvcreate

A special case is needed to display
--extents for lvcreate since the cmd defs
treat --extents as an automatic alternative
to --size (to avoid duplicating every cmd def).

7 years agohelp: print info about special options and variables
David Teigland [Thu, 2 Mar 2017 22:10:40 +0000 (16:10 -0600)]
help: print info about special options and variables

when --longhelp is used

7 years agolvcreate: munge size value in help output
David Teigland [Thu, 2 Mar 2017 20:33:50 +0000 (14:33 -0600)]
lvcreate: munge size value in help output

Add hack to omit the [+|-] from the --size
value.  Same hack exists in man generator.

7 years agoman: cover reshaping
Heinz Mauelshagen [Thu, 2 Mar 2017 21:24:19 +0000 (22:24 +0100)]
man: cover reshaping

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agolvs: enhance stripes and region size field descriptions
Heinz Mauelshagen [Thu, 2 Mar 2017 21:21:23 +0000 (22:21 +0100)]
lvs: enhance stripes and region size field descriptions

Now that we got the "data_stripes" field key, adjust the "stripes" field description.
Enhance the "regionsize" field description to cover raids as well.

7 years agoman: change the synopsis option style
David Teigland [Thu, 2 Mar 2017 20:08:59 +0000 (14:08 -0600)]
man: change the synopsis option style

Remove the required/optional words because it
should already be evident from the use of [ ].

7 years agolvcreate: allow chunksize option when creating cache
David Teigland [Thu, 2 Mar 2017 19:58:27 +0000 (13:58 -0600)]
lvcreate: allow chunksize option when creating cache

7 years agocommands: handle including an optional opt multiple times
David Teigland [Thu, 2 Mar 2017 19:52:06 +0000 (13:52 -0600)]
commands: handle including an optional opt multiple times

When a cmd def includes multiple sets of options (OO_FOO),
allow multiple OO_FOO sets to contain the same option and
avoid repeating it in the cmd def.

7 years agolvcreate/lvresize: the --size option accepts signed values
David Teigland [Thu, 2 Mar 2017 18:53:01 +0000 (12:53 -0600)]
lvcreate/lvresize: the --size option accepts signed values

There was confusion in the code about whether or not the
--size option accepted a sign.  Make it consistent and clear
that it does.

This exposes a new problem in that an option can only
accept one value type, e.g. --size can only accept a
signed number, it cannot accept a positive or negative
number for some commands and reject negative numbers for
others.

In practice, lvcreate accepts only positive --size
values and lvresize accepts positive or negative --size
values.  There is currently no way to encode this
difference.  Until that is fixed, the man page output
is hacked to avoid printing the [+|-] prefix for sizes
in lvcreate.

7 years agotools: Fix overriding of current_settings.
Alasdair G Kergon [Thu, 2 Mar 2017 16:41:41 +0000 (16:41 +0000)]
tools: Fix overriding of current_settings.

Settings specified in other command line args take precedence over
profiles and --config, which takes precedence over settings in actual
config files.

Since commit 1e2420bca85da9a37570871cd70192e9ae831786 ('commands: new
method for defining commands') commands like this:
  lvchange --config 'global/test=1' -ay vg
have been printing the 'TEST MODE' message, but nevertheless making
real changes.

7 years agocommands: adjust syntax error message
David Teigland [Thu, 2 Mar 2017 15:37:54 +0000 (09:37 -0600)]
commands: adjust syntax error message

7 years agoman lvchange: mention special activation vals
David Teigland [Thu, 2 Mar 2017 15:30:27 +0000 (09:30 -0600)]
man lvchange: mention special activation vals

used by lvmlockd and clvmd.

7 years agolvmdbustest.py: Remove un-used variable
Tony Asleson [Wed, 1 Mar 2017 23:29:40 +0000 (17:29 -0600)]
lvmdbustest.py:  Remove un-used variable

Not needed with new validation function.

7 years agolvmdbustest.py: Validate LV lookups
Tony Asleson [Wed, 1 Mar 2017 23:26:23 +0000 (17:26 -0600)]
lvmdbustest.py: Validate LV lookups

Ensure that the LV lookups work as expected for newly created LVs.

7 years agolvmdbustest.py: Validate PV device
Tony Asleson [Wed, 1 Mar 2017 23:24:08 +0000 (17:24 -0600)]
lvmdbustest.py: Validate PV device

Validate device lookup after PV creation.

7 years agolvmdbustest.py: Re-name validation function
Tony Asleson [Wed, 1 Mar 2017 23:22:32 +0000 (17:22 -0600)]
lvmdbustest.py: Re-name validation function

Make this name generic as we can use for different types.

7 years agolvmdbustest.py: Verify lookups work immediately after vg create
Tony Asleson [Wed, 1 Mar 2017 17:09:51 +0000 (11:09 -0600)]
lvmdbustest.py: Verify lookups work immediately after vg create

7 years agolvmdbustest.py: Use _lookup function
Tony Asleson [Wed, 1 Mar 2017 15:35:01 +0000 (09:35 -0600)]
lvmdbustest.py: Use _lookup function

Be consistent in using this helper function for dbus object lookups.

7 years agoman: fix typo
David Teigland [Wed, 1 Mar 2017 22:59:17 +0000 (16:59 -0600)]
man: fix typo

7 years agocommands: tweak some descriptions
David Teigland [Wed, 1 Mar 2017 22:50:27 +0000 (16:50 -0600)]
commands: tweak some descriptions

7 years agolvconvert: add new reporting fields for reshaping
Heinz Mauelshagen [Wed, 1 Mar 2017 18:30:52 +0000 (19:30 +0100)]
lvconvert: add new reporting fields for reshaping

Commit 48778bc5038f introduced new RAID reshaping related report fields.

The inclusioon of segtype.h in properties.c isn't mandatory, remove it.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agolvconvert: libdm RAID API compatibility versioning; remove new function
Heinz Mauelshagen [Wed, 1 Mar 2017 17:58:48 +0000 (18:58 +0100)]
lvconvert: libdm RAID API compatibility versioning; remove new function

Commit 80a6de616a19 versioned the dm_tree_node_add_raid_target_with_params()
and dm_tree_node_add_raid_target() APIs for compatibility reasons.

There's no user of the latter function, remove it.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agolvconvert: add new reporting fields for reshaping
Heinz Mauelshagen [Wed, 1 Mar 2017 17:50:35 +0000 (18:50 +0100)]
lvconvert: add new reporting fields for reshaping

During an ongoing reshape, the MD kernel runtime reads stripes relative
to data_offset and starts storing the reshaped stripes (with new raid
layout and/or new stripesize  and/or new number of stripes) relative
to new_data_offset.  This is to avoid writing over any data in place
which is non-atomic by nature and thus be recoverable without data loss
in the transition.  MD uses the term out-of-place reshaping for it.

There's 2 other areas we don't have report capability for:
- number of data stripes vs. total stripes
  (e.g. raid6 with 7 stripes toal has 5 data stripes)
- number of (rotating) parity/syndrome chunks
  (e.g. raid6 with 7 stripes toal has 2 parity chunks; one
   per stripe for P-Syndrome and another one for Q-Syndrome)

Thus, add the following reportable keys:

- reshape_len      (in current units)
- reshape_len_le   (in logical extents)
- data_offset      (in sectors)
- new_data_offset  (     "    )
- data_stripes
- parity_chunks

Enhance lvchange-raid.sh, lvconvert-raid-reshape-linear_to_striped.sh,
lvconvert-raid-reshape-striped_to_linear.sh, lvconvert-raid-reshape.sh
and lvconvert-raid-takeover.sh to make use of new keys.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agoman: put some commands into advanced usage section
David Teigland [Tue, 28 Feb 2017 23:04:46 +0000 (17:04 -0600)]
man: put some commands into advanced usage section

and separate commands with --

7 years agocommands: SECONDARY flag changes in cmd defs
David Teigland [Tue, 28 Feb 2017 22:15:11 +0000 (16:15 -0600)]
commands: SECONDARY flag changes in cmd defs

Add/remove the SECONDARY_SYNTAX flag to cmd defs.
cmd defs with this flag will be listed under the
ADVANCED USAGE man page section, so that the main
USAGE section contains the most common commands
without distraction.

- When multiple cmd defs do the same thing, one variant
  can be displayed in the first list.
- Very advanced, unusual or uncommon commands should be
  in the second list.

7 years agoraid: rework _raid_target_present()
Heinz Mauelshagen [Wed, 1 Mar 2017 13:52:23 +0000 (14:52 +0100)]
raid: rework _raid_target_present()

Recently added check for reshaping in this function called for
a cleanup to avoid proliferating it with more explicit conditionals.

Base the reshaping check on the given _features array.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agolvconvert: add missing reshape_len initialization
Heinz Mauelshagen [Tue, 28 Feb 2017 22:29:03 +0000 (23:29 +0100)]
lvconvert: add missing reshape_len initialization

An initialization was missing when converting striped to raid0(_meta)
causing unitialized reshape_len in the new component LVs first segment.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agolvconvert: adjust mininum region size check
Heinz Mauelshagen [Tue, 28 Feb 2017 22:09:30 +0000 (23:09 +0100)]
lvconvert: adjust mininum region size check

The imposed minimum region size can cause rejection on
disk removing reshapes.  Lower it to avoid that.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agohelp: print full usage for lvm help all
David Teigland [Tue, 28 Feb 2017 21:57:30 +0000 (15:57 -0600)]
help: print full usage for lvm help all

7 years agolvconvert: adjust reshaping check to target version
Heinz Mauelshagen [Tue, 28 Feb 2017 21:46:25 +0000 (22:46 +0100)]
lvconvert: adjust reshaping check to target version

https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=dm-4.11&id=b08c6076782
sets the dm-raid target version to 1.10.1.

Adjust the condition to set RAID_RESHAPE_FEATURE to it.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agolvconvert: libdm RAID API compatibility versioning
Heinz Mauelshagen [Tue, 28 Feb 2017 21:34:00 +0000 (22:34 +0100)]
lvconvert: libdm RAID API compatibility versioning

Commit 27384c52cf6a lowered the maximum number of devices
back to 64 for compatibility.

Because more members have been added to the API in
'struct dm_tree_node_raid_params *', we have to version
the public libdm RAID API to not break any existing users.

Changes:

- keep the previous 'struct dm_tree_node_raid_params' and
  dm_tree_node_add_raid_target_with_params()/dm_tree_node_add_raid_target()
  in order to expose the already released public RAID API

- introduce 'struct dm_tree_node_raid_params_v2' and additional functions
  dm_tree_node_add_raid_target_with_params_v2()/dm_tree_node_add_raid_target_v2()
  to be used by the new lvm2 lib reshape extentions

With this new API, the bitfields for rebuild/writemostly legs in
'struct dm_tree_node_raid_params_v2' can be raised to 256 bits
again (253 legs maximum supported in MD kernel).

Mind that we can limit the maximum usable number via the
DEFAULT_RAID{1}_MAX_IMAGES definition in defaults.h.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agocommands: include lvconvert cache options as group
David Teigland [Tue, 28 Feb 2017 19:47:46 +0000 (13:47 -0600)]
commands: include lvconvert cache options as group

7 years agoman: fix syntax for PV ranges
David Teigland [Tue, 28 Feb 2017 18:22:12 +0000 (12:22 -0600)]
man: fix syntax for PV ranges

7 years agocommands: remove lvconvert raid rule
David Teigland [Mon, 27 Feb 2017 23:06:08 +0000 (17:06 -0600)]
commands: remove lvconvert raid rule

A raid0 LV also needs to be converted to other
raid levels, so this rule should be removed entirely.

7 years agoman: mention regionsize default is in lvm.conf
David Teigland [Mon, 27 Feb 2017 23:05:20 +0000 (17:05 -0600)]
man: mention regionsize default is in lvm.conf

7 years agocommands: fix lvconvert raid rule
David Teigland [Mon, 27 Feb 2017 22:33:38 +0000 (16:33 -0600)]
commands: fix lvconvert raid rule

Recent rule change was incorrect.
We want to allow 'lvconvert --type raid' on raid1 LVs.

7 years agocommands: fixes for recent raid changes
David Teigland [Fri, 24 Feb 2017 22:43:05 +0000 (16:43 -0600)]
commands: fixes for recent raid changes

- Combine the equivalent lvconvert --type raid defs.
  (Two cmd defs must be different without relying
  on LV type, which are not known at the time the
  cmd def is matched.)

- Remove unused optional options from lvconvert --stripes,
  and lvconvert --stripesize.

- Use Number for --stripes_long val type.

- Combine the cmd def for raid reshape cleanup into the
  existing start_poll cmd def (they were duplicate defs).
  Calls into the raid code from a poll opertion will be
  added.

7 years agolvconvert: limit libdm to maximum of 64 RAID devices
Heinz Mauelshagen [Mon, 27 Feb 2017 20:42:15 +0000 (21:42 +0100)]
lvconvert: limit libdm to maximum of 64 RAID devices

Commit 64a2fad5d6c6 raised the maximum number of RAID devices to 64.

Commit e2354ea344c2 introduced RAID_BITMAP_SIZE as 4 to have
256 bits (4 * 64 bit array members), thus changing the libdm API
unnecessarilly for the time being.

To not change the API, reduce RAID_BITMAP_SIZE to 1.
Remove an unneeded definition of it from libdm-common.h.

If we ever decide to raise past 64, we'll version the API.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978

7 years agogit: Upstream repository moved to sourceware.org
Alasdair G Kergon [Mon, 27 Feb 2017 13:52:51 +0000 (13:52 +0000)]
git: Upstream repository moved to sourceware.org

The fedorahosted git repository shuts down tomorrow:
  https://communityblog.fedoraproject.org/fedorahosted-sunset-2017-02-28/

Our upstream git repository has moved back to sourceware.org.
Mailing list hosting is not changing.

Gitweb:
  https://www.sourceware.org/git/?p=lvm2

Git:
  git://sourceware.org/git/lvm2.git
  ssh://sourceware.org/git/lvm2.git
  http://sourceware.org/git/lvm2.git

Example command to change the origin of a repository clone:
  Public:
    git remote set-url origin git://sourceware.org/git/lvm2.git
  Committers:
    git remote set-url origin git+ssh://sourceware.org/git/lvm2.git

7 years agoman: change option sorting in synopsis
David Teigland [Fri, 24 Feb 2017 21:11:18 +0000 (15:11 -0600)]
man: change option sorting in synopsis

The options list was sorted as:
- options with both long and short forms, alphabetically
- options with only long form, alphabetically

This was done only for the visual effect.  Change to
sort alphabetically by long opt, without regard to
short forms.

7 years agoman: add ENVIRONMENT VARIABLES section
David Teigland [Fri, 24 Feb 2017 21:05:17 +0000 (15:05 -0600)]
man: add ENVIRONMENT VARIABLES section

7 years agolvconvert: fix handling args in combining snapshots
David Teigland [Fri, 24 Feb 2017 20:17:58 +0000 (14:17 -0600)]
lvconvert: fix handling args in combining snapshots

Fixes commit 286d39ee3c433, which was correct except
for a reversed strstr.  Now uses strchr, and modifies
a copy of the name so the original argv is preserved.

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