Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=ecae76c713bd4fa6…
Commit: ecae76c713bd4fa6c9d8f2a2c990625e4f38b504
Parent: 2bb33aaf556134b0217b822755383245ac678527
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Tue Apr 26 12:51:06 2016 +0200
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Tue Apr 26 12:57:37 2016 +0200
udev: rules: add comments explaining subsystem-specific rules
---
udev/10-dm.rules.in | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in
index 8d7a8ca..b4fa52a 100644
--- a/udev/10-dm.rules.in
+++ b/udev/10-dm.rules.in
@@ -13,6 +13,20 @@
# DM_UUID - UUID set for DM device (blank if not specified)
# DM_SUSPENDED - suspended state of DM device (0 or 1)
# DM_UDEV_RULES_VSN - DM udev rules version
+#
+# These rules cover only basic device-mapper functionality in udev.
+#
+# Various DM subsystems may contain further subsystem-specific rules
+# in 11-dm-<subsystem_name>.rules which should be installed together
+# with the DM subsystem and which extend these basic rules.
+# For example:
+# 11-dm-lvm.rules for LVM subsystem
+# 11-dm-mpath.rules for multipath subsystem (since version 0.6.0, recommended!)
+#
+# Even more specific rules may be required by subsystems so always
+# check subsystem's upstream repository for recent set of rules.
+# Also, keep in mind that recent rules may also require recent
+# subsystem-specific binaries.
KERNEL=="device-mapper", NAME="(DM_DIR)/control"
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=2bb33aaf556134b0…
Commit: 2bb33aaf556134b0217b822755383245ac678527
Parent: 379874a2d0ff51cdbfbc1cc723b41e06bcdfd277
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Mon Apr 25 14:48:46 2016 +0200
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Mon Apr 25 14:55:54 2016 +0200
udev: rules: remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0)
Multipath 0.6.0 contains new 11-dm-mpath.rules which supersede the rule
that was in 10-dm.rules. The 11-dm-mpath.rules are also more complete,
fixing several other issues. Using the new 11-dm-mpath.rules from
multipath-tools >= 0.6.0 is strongly recommended for proper
DM multipath functionality!
See also:
http://christophe.varoqui.free.frhttp://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=blob;f=multipath…
---
WHATS_NEW | 1 +
udev/10-dm.rules.in | 4 ----
2 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 961bae7..1aa335e 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.152 -
==================================
+ Remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0).
Version 2.02.151 - 23rd April 2016
==================================
diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in
index 2755530..8d7a8ca 100644
--- a/udev/10-dm.rules.in
+++ b/udev/10-dm.rules.in
@@ -120,10 +120,6 @@ ENV{DM_UDEV_RULES_VSN}="2"
ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/$env{DM_NAME}"
-# We have to ignore further rule application for inappropriate events
-# and devices. But still send the notification if cookie exists.
-ENV{DM_UUID}=="mpath-?*", ENV{DM_ACTION}=="PATH_FAILED", GOTO="dm_disable"
-
# Avoid processing and scanning a DM device in the other (foreign)
# rules if it is in suspended state. However, we still keep 'disk'
# and 'DM subsystem' related rules enabled in this case.
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=379874a2d0ff51cd…
Commit: 379874a2d0ff51cdbfbc1cc723b41e06bcdfd277
Parent: 9d976c0002f06e97c50bca7dad35d647848ed60f
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Mon Apr 25 11:41:36 2016 +0200
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Mon Apr 25 11:44:24 2016 +0200
cleanup: do not mention segment in warning message if device not found for a PV when checking used/assumed devs for an LV
[0] fedora/~ # pvs --config 'devices/filter=["a|/dev/sda|", "r|.*|"]'
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Couldn't find device for segment belonging to fedora/root while checking used and assumed devices.
WARNING: Couldn't find device for segment belonging to fedora/swap while checking used and assumed devices.
PV VG Fmt Attr PSize PFree
/dev/sda lvm2 --- 128.00m 128.00m
[unknown] fedora lvm2 a-m 19.49g 0
Probably not worth mentioning "segments" here, just state that devices
for an LV can't be all found during the check - it's less mysterious for
user then:
[0] fedora/~ # pvs --config 'devices/filter=["a|/dev/sda|", "r|.*|"]'
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Couldn't find all devices for LV fedora/root while checking used and assumed devices.
WARNING: Couldn't find all devices for LV fedora/swap while checking used and assumed devices.
PV VG Fmt Attr PSize PFree
/dev/sda lvm2 --- 128.00m 128.00m
[unknown] fedora lvm2 a-m 19.49g 0
---
lib/metadata/metadata.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index 1ceed68..6d101e0 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -4631,8 +4631,8 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
if (seg_type(seg, s) == AREA_PV) {
if (!(dev = seg_dev(seg, s))) {
if (!warned_about_no_dev) {
- log_warn("WARNING: Couldn't find device for segment belonging "
- "to %s while checking used and assumed devices.",
+ log_warn("WARNING: Couldn't find all devices for LV %s "
+ "while checking used and assumed devices.",
display_lvname(lv));
warned_about_no_dev = 1;
}
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=9d976c0002f06e97…
Commit: 9d976c0002f06e97c50bca7dad35d647848ed60f
Parent: eb8edccd58a4ac2b313800f4d1839df336e3cab9
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Mon Apr 25 11:15:44 2016 +0200
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Mon Apr 25 11:27:28 2016 +0200
metadata: log warning instead of error if device not found while checking used and assumed devs
When checking assumed PVs against real devices used for LVs and if
there's no device assigned for an assumed PV (e.g. due to filters),
do log_warn instead of log_error and continue checking LV segments
and associated assumed PVs further, just like we do log_warn elsewhere
in this situation.
This way user will see the warning for each LV which couldn't be
checked completely against real PVs used. Before, we logged only
the very first occurence of missing device for an LV in a VG and we
returned from the function doing this check for all the LVs in VG
immediately which may be a bit misleading because it didn't tell
user about all the other LVs and whether they could be checked
or not.
For example, we have this setup:
[0] fedora/~ # pvs
PV VG Fmt Attr PSize PFree
/dev/sda lvm2 --- 128.00m 128.00m
/dev/vda2 fedora lvm2 a-- 19.49g 0
[0] fedora/~ # lvs -o+devices
LV VG Attr LSize Devices
root fedora -wi-ao---- 19.00g /dev/vda2(0)
swap fedora -wi-ao---- 500.00m /dev/vda2(4864)
Before this patch (only the very first LV in a VG is logged to have a
problem while checking used and assumed devices):
[0] fedora/~ # pvs --config 'devices/filter=["a|/dev/sda|", "r|.*|"]'
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
Couldn't find device for segment belonging to fedora/root while checking used and assumed devices.
PV VG Fmt Attr PSize PFree
/dev/sda lvm2 --- 128.00m 128.00m
[unknown] fedora lvm2 a-m 19.49g 0
With this patch applied (all LVs where we hit problem while checking
used and assumed devices are logged and it's warning, not error):
[0] fedora/~ # pvs --config 'devices/filter=["a|/dev/sda|", "r|.*|"]'
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Device for PV Qcxpcy-XgtP-UD3s-PmG0-qLyE-Z0ho-DYsxoz not found or rejected by a filter.
WARNING: Couldn't find device for segment belonging to fedora/root while checking used and assumed devices.
WARNING: Couldn't find device for segment belonging to fedora/swap while checking used and assumed devices.
PV VG Fmt Attr PSize PFree
/dev/sda lvm2 --- 128.00m 128.00m
[unknown] fedora lvm2 a-m 19.49g 0
---
lib/metadata/metadata.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index f9ce080..1ceed68 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -4597,6 +4597,7 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
struct device *dev;
struct lv_segment *seg;
uint32_t s;
+ int warned_about_no_dev = 0;
char *used_devnames = NULL, *assumed_devnames = NULL;
if (!(list = dev_cache_get_dev_list_for_lvid(lv->lvid.s + ID_LEN)))
@@ -4629,10 +4630,13 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) == AREA_PV) {
if (!(dev = seg_dev(seg, s))) {
- log_error("Couldn't find device for segment belonging to "
- "%s while checking used and assumed devices.",
- display_lvname(lv));
- return 0;
+ if (!warned_about_no_dev) {
+ log_warn("WARNING: Couldn't find device for segment belonging "
+ "to %s while checking used and assumed devices.",
+ display_lvname(lv));
+ warned_about_no_dev = 1;
+ }
+ continue;
}
if (!(dev->flags & DEV_USED_FOR_LV)) {
if (!found_inconsistent) {
@@ -4653,11 +4657,10 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
if (!dm_pool_grow_object(mem, "\0", 1))
return_0;
assumed_devnames = dm_pool_end_object(mem);
+ log_warn("WARNING: Device mismatch detected for %s which is accessing %s instead of %s.",
+ display_lvname(lv), used_devnames, assumed_devnames);
}
- log_warn("WARNING: Device mismatch detected for %s which is accessing %s instead of %s.",
- display_lvname(lv), used_devnames, assumed_devnames);
-
return 1;
}
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=ba03e128dc63fcd9…
Commit: ba03e128dc63fcd94f73bb786542c2afdda65c42
Parent: 0000000000000000000000000000000000000000
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: 2016-04-22 23:42 +0000
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: 2016-04-22 23:42 +0000
annotated tag: v2_02_151 has been created
at ba03e128dc63fcd94f73bb786542c2afdda65c42 (tag)
tagging 546b2006dd4bc888a08631d6cb66245b0374eab2 (commit)
replaces v2_02_150
Release 2.02.151
Another bug fix release.
77 files changed, 1867 insertions(+), 683 deletions(-)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iEYEABECAAYFAlcatvMACgkQIoGRwVZ+LBcvPwCdGzBIjpI94AufS4l/13um/33+
/iQAnjBghsd72CZBumkBNgLK+sO4iq0I
=ZlBY
-----END PGP SIGNATURE-----
Alasdair G Kergon (9):
post-release
toollib: Fix misleading message when forking.
snapshot: Don't deactivate fictional snapshot LV.
activation: Add LV name to a debug message.
activation: Log when pending snap merge postponed.
activate: Improve snapshot merge initiation
display: Avoid internal snapshot LV names in msgs.
activate: Hide errors when snapshot merge delayed.
pre-release
Bryn M. Reeves (1):
libdm-stats: check for empty region and area lists
David Teigland (29):
rename function read_vgname to read_vgsummary
lvmetad: preemptively check and rescan in commands
lvmetad: add FIXME to comment
tests: lvmetad-lvm1 fix
WHATS_NEW for lvmetad scanning changes
tests: fix check_lvmlockd_test
lvmlockd: skip unnecessary lvmetad cache update
metadata: don't repair shared VGs
toollib: remove unneeded call in process_each_pv
lvmetad: add disabled state
lvmetad: set disabled flag in lvmetad if lvm1 metadata is found
lvmetad: use the disabled flag in commands
lvmetad: clear the disabled flag in lvmetad
lvmetad: disable if command uses lvm1
test: update lvm1 test
test: update lvmetad-disabled
test: lvmetad-no-cluster
test: lvmetad-override
test: lvmetad-warning
lvmetad: use defines for disabled reason strings
lvmetad: rework command connection setup and checking
test: lvmetad-override
lvmetad: connect from forked polling process
lvmetad: check for socket in connect
lvmetad: check pid for warning case
lvmetad: fix compile without lvmetad
lvmetad: warn about making changes while not using lvmetad
poll daemon: only call lvmetad_connect when needed
WHATS_NEW: disable lvmetad for lvm1
Peter Rajnoha (1):
refactor: factor out vg/lv/pv handling part from report_for_selection fn
Zdenek Kabelac (39):
devcache: index devices also without udev
devcache: do not insert devices without device node
cleanup: avoid declaring var in the middle of code
cleanup: gcc warn about comparing int with uint
debug: unify some tracing messages
thin: check runtime table line for merging
thin: improve recognizing of merge in progress
debug: fix error message
debug: update message in libdm
debug: use display_lvname
snapshot: improve merge
lvchange: improve refresh for merging thin volume
tests: use bigger raid size
tests: use should for failing test
configure: detect for /var/lock dir
configure: respect --disable-lvmetad/lvmpolld
debug: move misplaced log_debug
tests: document make parametr for tracing aux scripts
tests: still show systems stas when command has not produced debug.log file
tests: minor update
lvmetad: fix compilation without lvmetad#
tests: GLIBC decided to obsolete readdir_r
cleanup: simplify code
cleanup: use kdev_t header in lvm tree
coverity: fix memory access
coverity: fix error paths
coverity: drop unused header file
coverity: use wider type for whole expression
coverity: return non-null string with internal error
coverity: avoid using signed types for single bits
coverity: drop abadoing object
tests: keep using [] for hidden volumes
cache: fix previous change and correct ()
tests: make test independent on usage [] for hidden LVs
coverity: is_used_pv needs valid pv pointer
coverity: keep expression using 64bit
coverity: ignore some dm_strncpy results
coverity: check for sys error in clock call
tests: drop cluster testing with pvmove
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=546b2006dd4bc888…
Commit: 546b2006dd4bc888a08631d6cb66245b0374eab2
Parent: 31b11d02281a3d141fa2c69d9155baacd158bf50
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: Sat Apr 23 00:33:59 2016 +0100
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: Sat Apr 23 00:41:55 2016 +0100
pre-release
---
VERSION | 2 +-
VERSION_DM | 2 +-
WHATS_NEW | 4 ++--
WHATS_NEW_DM | 5 ++++-
conf/example.conf.in | 7 +++++++
5 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/VERSION b/VERSION
index 4731ad0..3af3f8c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.02.151(2)-git (2016-04-09)
+2.02.151(2)-git (2016-04-23)
diff --git a/VERSION_DM b/VERSION_DM
index 359ada7..74d6f61 100644
--- a/VERSION_DM
+++ b/VERSION_DM
@@ -1 +1 @@
-1.02.123-git (2016-04-09)
+1.02.123-git (2016-04-23)
diff --git a/WHATS_NEW b/WHATS_NEW
index d088560..bf72aaa 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,5 @@
-Version 2.02.151 -
-=================================
+Version 2.02.151 - 23rd April 2016
+==================================
Fix error path after reusing of _setup_task (2.02.150).
Fix memory access for empty sysfs values (2.02.149).
Disable lvmetad when lvm1 metadata is seen, so commands revert to scanning.
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index e2301ea..3c1ca53 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,6 +1,9 @@
+Version 1.02.123 - 23rd April 2016
+==================================
+ Do not strip LVM- when debug reporting not found uuid.
+
Version 1.02.122 - 9th April 2016
=================================
- Do not strip LVM- when debug reporting not found uuid.
Change log_debug ioctl flags from single characters into words.
Version 1.02.121 - 26th March 2016
diff --git a/conf/example.conf.in b/conf/example.conf.in
index 255d329..a6a6762 100644
--- a/conf/example.conf.in
+++ b/conf/example.conf.in
@@ -851,6 +851,13 @@ global {
# devices/global_filter.
use_lvmetad = @DEFAULT_USE_LVMETAD@
+ # Configuration option global/lvmetad_update_wait_time.
+ # The number of seconds a command will wait for lvmetad update to finish.
+ # After waiting for this period, a command will not use lvmetad, and
+ # will revert to disk scanning.
+ # This configuration option has an automatic default value.
+ # lvmetad_update_wait_time = 10
+
# Configuration option global/use_lvmlockd.
# Use lvmlockd for locking among hosts using LVM on shared storage.
# Applicable only if LVM is compiled with lockd support in which