master - coverity: commit ba2302346 - report log_sys_error properly
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=359dc6fa76f765...
Commit: 359dc6fa76f765a5503b3fda7a596984272a4a4e
Parent: c03d8473ea9ad585f27207404a242b7b11caf74f
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 15:16:54 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 15:16:54 2014 +0100
coverity: commit ba2302346 - report log_sys_error properly
log_sys_error uses errno, hence we need to report the first
failure before reporting another failure that uses errno as well.
---
lib/activate/dev_manager.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index a17cd25..6e5b785 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -1873,9 +1873,9 @@ static int _pool_callback(struct dm_tree_node *node,
}
/* let's assume there is no problem to read 64 bytes */
if (read(fd, buf, sizeof(buf)) < sizeof(buf)) {
+ log_sys_error("read", argv[args]);
if (close(fd))
log_sys_error("close", argv[args]);
- log_sys_error("read", argv[args]);
return 0;
}
for (ret = 0; ret < DM_ARRAY_SIZE(buf); ++ret)
9 years, 7 months
master - coverity: fix possible dereference of NULL pointer
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c03d8473ea9ad5...
Commit: c03d8473ea9ad585f27207404a242b7b11caf74f
Parent: ce8730b5080b85192af1aadea3d9e9b5333a2405
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 10:17:17 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 10:17:17 2014 +0100
coverity: fix possible dereference of NULL pointer
This would be in case the pool segment was not found.
LVM2.2.02.112/lib/metadata/pool_manip.c:238:36: warning: Access to field 'segtype' results in a dereference of a null pointer (loaded from variable 'pool_seg')
---
lib/metadata/pool_manip.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/lib/metadata/pool_manip.c b/lib/metadata/pool_manip.c
index 70b5a23..ee32a3b 100644
--- a/lib/metadata/pool_manip.c
+++ b/lib/metadata/pool_manip.c
@@ -235,6 +235,11 @@ struct lv_segment *find_pool_seg(const struct lv_segment *seg)
pool_seg = sl->seg;
}
+ if (!pool_seg) {
+ log_error("Pool segment not found for %s.", display_lvname(seg->lv));
+ return NULL;
+ }
+
if ((lv_is_thin_type(seg->lv) && !seg_is_pool(pool_seg))) {
log_error("%s on %s is not a %s pool segment",
pool_seg->lv->name, seg->lv->name,
9 years, 7 months
master - coverity: fix possible integer overflow
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=ce8730b5080b85...
Commit: ce8730b5080b85192af1aadea3d9e9b5333a2405
Parent: 60cc666c949ca16b1d7297eb2a3abc78dfbf3bf9
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 10:03:27 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 10:03:27 2014 +0100
coverity: fix possible integer overflow
LVM2.2.02.112/lib/metadata/cache_manip.c:73: overflow_before_widen: Potentially overflowing expression "*pool_metadata_extents *vg->extent_size" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "uint64_t" (64 bits, unsigned).
LVM2.2.02.112/lib/activate/dev_manager.c:217: overflow_before_widen: Potentially overflowing expression "seg_status->seg->len * extent_size" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "uint64_t" (64 bits, unsigned).
LVM2.2.02.112/lib/activate/dev_manager.c:217: overflow_before_widen: Potentially overflowing expression "seg_status->seg->le * extent_size" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "uint64_t" (64 bits, unsigned).
---
lib/activate/dev_manager.c | 4 ++--
lib/metadata/cache_manip.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index c62dcb8..a17cd25 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -217,8 +217,8 @@ static int _info_run(info_type_t type, const char *name, const char *dlid,
do {
target = dm_get_next_target(dmt, target, &target_start,
&target_length, &target_name, &target_params);
- if ((seg_status->seg->le * extent_size == target_start) &&
- (seg_status->seg->len * extent_size == target_length)) {
+ if (((uint64_t) seg_status->seg->le * extent_size == target_start) &&
+ ((uint64_t) seg_status->seg->len * extent_size == target_length)) {
params_to_process = target_params;
break;
}
diff --git a/lib/metadata/cache_manip.c b/lib/metadata/cache_manip.c
index d7813c3..27f381d 100644
--- a/lib/metadata/cache_manip.c
+++ b/lib/metadata/cache_manip.c
@@ -70,7 +70,7 @@ int update_cache_pool_params(const struct segment_type *segtype,
{
uint64_t min_meta_size;
uint32_t extent_size = vg->extent_size;
- uint64_t pool_metadata_size = *pool_metadata_extents * vg->extent_size;
+ uint64_t pool_metadata_size = (uint64_t) *pool_metadata_extents * vg->extent_size;
if (!(passed_args & PASS_ARG_CHUNK_SIZE))
*chunk_size = DEFAULT_CACHE_POOL_CHUNK_SIZE * 2;
9 years, 7 months
master - coverity: fix compiler warning
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=60cc666c949ca1...
Commit: 60cc666c949ca16b1d7297eb2a3abc78dfbf3bf9
Parent: 57c618b0edbea321626766d9de2a0640efdc2bc2
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 09:42:53 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 09:55:12 2014 +0100
coverity: fix compiler warning
LVM2.2.02.112/lib/activate/dev_manager.c:196:5: warning: 'dmtask' may be used uninitialized in this function [-Wmaybe-uninitialized]
In _info_run fn:
switch (type) {
case INFO:
...
case STATUS:
...
case MKNODES:
...
}
The "type" is enum and currently only those three types are supported,
but if we added a new type in the future, this would end up with a bug
(if we forgot to add the new "case" in that "switch"). So let's make
sure proper internal error is printed:
default:
log_error(INTERNAL_ERROR "_info_run: unhandled info type");
return 0;
---
lib/activate/dev_manager.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 18ecb3a..c62dcb8 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -191,6 +191,9 @@ static int _info_run(info_type_t type, const char *name, const char *dlid,
case MKNODES:
dmtask = DM_DEVICE_MKNODES;
break;
+ default:
+ log_error(INTERNAL_ERROR "_info_run: unhandled info type");
+ return 0;
}
if (!(dmt = _setup_task(type != MKNODES ? name : NULL, dlid, 0, dmtask,
9 years, 7 months
master - coverity: fix compiler warning
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=99bf77d8170a5e...
Commit: 99bf77d8170a5e15a7631ceb2ef041cf67a3827f
Parent: 57c618b0edbea321626766d9de2a0640efdc2bc2
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 09:42:53 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 09:48:34 2014 +0100
coverity: fix compiler warning
LVM2.2.02.112/lib/activate/dev_manager.c:196:5: warning: 'dmtask' may be used uninitialized in this function [-Wmaybe-uninitialized]
In _info_run fn:
switch (type) {
case INFO:
...
case STATUS:
...
case MKNODES:
...
}
The "type" is enum and currently only those three types are supported,
but if we added a new type in the future, this would end up with a bug
(if we forgot to add the new "case" in that "switch"). So let's make
sure proper internal error is printed:
case default:
log_error(INTERNAL_ERROR "_info_run: unhandled info type");
return 0;
---
lib/activate/dev_manager.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 18ecb3a..1d18dfb 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -191,6 +191,9 @@ static int _info_run(info_type_t type, const char *name, const char *dlid,
case MKNODES:
dmtask = DM_DEVICE_MKNODES;
break;
+ case default:
+ log_error(INTERNAL_ERROR "_info_run: unhandled info type");
+ return 0;
}
if (!(dmt = _setup_task(type != MKNODES ? name : NULL, dlid, 0, dmtask,
9 years, 7 months
master - cache: fix clean_tree
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=57c618b0edbea3...
Commit: 57c618b0edbea321626766d9de2a0640efdc2bc2
Parent: 112302d41a2cbf0c28c5cb65774121302ba374be
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Wed Nov 12 09:34:46 2014 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Wed Nov 12 09:40:27 2014 +0100
cache: fix clean_tree
Fix 8121074fda126cc6c0df05fba066cc9365e00255 - the patch
incorrectly removed also other top-level nodes.
It needs to deactivate purely subnodes of _corig.
---
WHATS_NEW | 1 +
lib/activate/dev_manager.c | 11 ++++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 0c8fcc7..9859939 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.113 -
=====================================
+ Fix clean_tree after activation/resume for cache target (2.02.112).
Version 2.02.112 - 11th November 2014
=====================================
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index efaaa65..18ecb3a 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -3001,11 +3001,12 @@ static int _clean_tree(struct dev_manager *dm, struct dm_tree_node *root, char *
if (non_toplevel_tree_dlid && !strcmp(non_toplevel_tree_dlid, uuid))
continue;
- if ((name = strstr(lvname, "_corig")) && !name[6]) {
- /* FIXME: for now just for _corig deactivate LVM subtree, should be generic */
- if (!dm_tree_deactivate_children(root, "LVM-", 4))
- return_0;
- } else if (!dm_tree_deactivate_children(root, uuid, strlen(uuid)))
+ if ((name = strstr(lvname, "_corig")) && !name[6] &&
+ /* FIXME: for now just for _corig deactivate LVM subtree, should be generic */
+ !dm_tree_deactivate_children(child, "LVM-", 4))
+ return_0;
+
+ if (!dm_tree_deactivate_children(root, uuid, strlen(uuid)))
return_0;
}
9 years, 7 months
master - man: fix (\+) syntax warning of Groff
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=112302d41a2cbf...
Commit: 112302d41a2cbf0c28c5cb65774121302ba374be
Parent: eccc97f15a0f2e19f5ccc714cb4880644b4772df
Author: Stéphane Aulery <saulery(a)free.fr>
AuthorDate: Sun Nov 9 02:18:31 2014 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Wed Nov 12 09:39:19 2014 +0100
man: fix (\+) syntax warning of Groff
Signed-off-by: Stéphane Aulery <saulery(a)free.fr>
---
WHATS_NEW_DM | 1 +
man/dmsetup.8.in | 8 ++++----
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 6f23958..a89696f 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,5 +1,6 @@
Version 1.02.92 -
====================================
+ Fix man dmsetup.8 syntax warning of Groff
Version 1.02.91 - 11th November 2014
====================================
diff --git a/man/dmsetup.8.in b/man/dmsetup.8.in
index e2a1a5c..57fbdf9 100644
--- a/man/dmsetup.8.in
+++ b/man/dmsetup.8.in
@@ -16,7 +16,7 @@ dmsetup \(em low level logical volume management
.IR table_file ]
.RB [{ \-\-addnodeoncreate | \-\-addnodeonresume }]
.RB [ \-\-readahead
-.RI [ \+ ]< sectors >| auto | none ]
+.RI [ + ]< sectors >| auto | none ]
.RE
.br
.B dmsetup deps
@@ -101,7 +101,7 @@ dmsetup \(em low level logical volume management
.RB [{ \-\-addnodeoncreate | \-\-addnodeonresume }]
.RS
.RB [ \-\-readahead
-.RI [ \+ ]< sectors >| auto | none ]
+.RI [ + ]< sectors >| auto | none ]
.RE
.br
.B dmsetup setgeometry
@@ -237,10 +237,10 @@ Do not synchronise with udev when creating, renaming or removing devices.
.BR \-o | \-\-options
Specify which fields to display.
.TP
-.IR \fB\-\-readahead \ [ \+ ]< sectors >| auto | none
+.IR \fB\-\-readahead \ [ + ]< sectors >| auto | none
Specify read ahead size in units of sectors.
The default value is \fIauto\fP which allows the kernel to choose
-a suitable value automatically. The \fI\+\fP prefix lets you
+a suitable value automatically. The \fI+\fP prefix lets you
specify a minimum value which will not be used if it is
smaller than the value chosen by the kernel.
The value \fInone\fP is equivalent to specifying zero.
9 years, 7 months
master - coverity: remove redundant condition
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=eccc97f15a0f2e...
Commit: eccc97f15a0f2e19f5ccc714cb4880644b4772df
Parent: ba2302346433af7150193025aa8a446fa3238445
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 09:30:02 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 09:30:02 2014 +0100
coverity: remove redundant condition
LVM2.2.02.112/daemons/clvmd/clvmd.c:1131: warning[arrayIndexOutOfBoundsCond]: Array 'row[8]' accessed at index 8, which is out of bounds. Otherwise condition 'j==8' is redundant.
This code:
int i,j = 0;
...
for (i = 0; i < len; ++i) {
...
if ((j == 8) || (i + 1 == len)) {
for (;j < 8; ++j) {
...
}
...
j = 0;
}
}
Indeed - j is 0 at the beginning, then iterating till j < 8,
then always zeroed at the end of the outer loop - so "j" never
reaching value of 8 - the j == 8 condition is redundant.
---
daemons/clvmd/clvmd.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c
index 9b865f6..0c1cb44 100644
--- a/daemons/clvmd/clvmd.c
+++ b/daemons/clvmd/clvmd.c
@@ -1128,7 +1128,7 @@ static void dump_message(char *buf, int len)
row[j] = buf[i];
str[j] = (isprint(buf[i])) ? buf[i] : ' ';
- if ((j == 8) || (i + 1 == len)) {
+ if (i + 1 == len) {
for (;j < 8; ++j) {
row[j] = 0;
str[j] = ' ';
9 years, 7 months
master - coverity: fix resource leaks
by Peter Rajnoha
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=ba2302346433af...
Commit: ba2302346433af7150193025aa8a446fa3238445
Parent: 131aaeb6344b17586571f126468b67c960075f50
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Wed Nov 12 09:18:55 2014 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Wed Nov 12 09:19:14 2014 +0100
coverity: fix resource leaks
LVM2.2.02.112/tools/toollib.c:1991: leaked_storage: Variable "iter" going out of scope leaks the storage it points to.
LVM2.2.02.112/lib/filters/filter-usable.c:89: leaked_storage: Variable "f" going out of scope leaks the storage it points to.
LVM2.2.02.112/lib/activate/dev_manager.c:1874: leaked_handle: Handle variable "fd" going out of scope leaks the handle.
---
lib/activate/dev_manager.c | 2 ++
lib/filters/filter-usable.c | 1 +
tools/toollib.c | 8 +++++---
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index a392387..efaaa65 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -1870,6 +1870,8 @@ static int _pool_callback(struct dm_tree_node *node,
}
/* let's assume there is no problem to read 64 bytes */
if (read(fd, buf, sizeof(buf)) < sizeof(buf)) {
+ if (close(fd))
+ log_sys_error("close", argv[args]);
log_sys_error("read", argv[args]);
return 0;
}
diff --git a/lib/filters/filter-usable.c b/lib/filters/filter-usable.c
index a6932b0..f34a325 100644
--- a/lib/filters/filter-usable.c
+++ b/lib/filters/filter-usable.c
@@ -86,6 +86,7 @@ struct dev_filter *usable_filter_create(struct dev_types *dt __attribute__((unus
f->use_count = 0;
if (!(f->private = dm_zalloc(sizeof(filter_mode_t)))) {
log_error("Usable device filter mode allocation failed");
+ dm_free(f);
return NULL;
}
*((filter_mode_t *) f->private) = mode;
diff --git a/tools/toollib.c b/tools/toollib.c
index 596dba5..e47213d 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -1977,6 +1977,7 @@ static int _get_all_devices(struct cmd_context *cmd, struct dm_list *all_devices
struct dev_iter *iter;
struct device *dev;
struct device_list *devl;
+ int r = ECMD_FAILED;
lvmcache_seed_infos_from_lvmetad(cmd);
@@ -1988,16 +1989,17 @@ static int _get_all_devices(struct cmd_context *cmd, struct dm_list *all_devices
while ((dev = dev_iter_get(iter))) {
if (!(devl = dm_pool_alloc(cmd->mem, sizeof(*devl)))) {
log_error("device_list alloc failed");
- return ECMD_FAILED;
+ goto out;
}
devl->dev = dev;
dm_list_add(all_devices, &devl->list);
}
+ r = ECMD_PROCESSED;
+out:
dev_iter_destroy(iter);
-
- return ECMD_PROCESSED;
+ return r;
}
static int _device_list_remove(struct dm_list *all_devices, struct device *dev)
9 years, 7 months
v2_02_112 annotated tag has been created
by Alasdair Kergon
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=6c5a607ff60b2b...
Commit: 6c5a607ff60b2b2ef3872903af13ae9b83e3b207
Parent: 0000000000000000000000000000000000000000
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: 2014-11-11 14:14 +0000
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: 2014-11-11 14:14 +0000
annotated tag: v2_02_112 has been created
at 6c5a607ff60b2b2ef3872903af13ae9b83e3b207 (tag)
tagging 9a5910bdf9a8d79051181f110a43a7c1ef2288d6 (commit)
replaces v2_02_111
Release 2.02.112.
187 files changed, 11247 insertions(+), 6391 deletions(-)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iEYEABECAAYFAlRiGbkACgkQIoGRwVZ+LBdSMACfQr584pGhii8/lVKOvfA/4ijZ
vWUAoIC5T+vhUUIA0TWy71FA7i7AhugW
=Ezax
-----END PGP SIGNATURE-----
Alasdair G Kergon (20):
post-release
cleanup: Use lv_is_ macros.
cleanup: fix last commit
mirrors: Fix checks for mirror/raid/pvmove LVs.
devices: Detect rotational devices.
cleanup: Remove metadata.h from tools dir.
lvconvert: Restrict use of cache LVs.
lvconvert: Disallow mixing of cache and thin pools.
lvconvert: Further restrictions on cache/pools.
cache: Enable cache segment type by default.
toollib: Remove unused functions from header file.
toollib: Shuffle PV functions.
lvmcache: Skip VG_GLOBAL cache lock state update.
vgremove: Use process_each_lv_in_vg.
device: Fix BLKSSZGET definition check.
vgcreate: Permit non-power-of-2 extent sizes.
dmeventd: Remove redundant checks.
dmeventd: Include shutdown threads in responses.
dmeventd: Add basic thread debugging messages.
pre-release
David Teigland (22):
man: lvmcache should use clearer cache pool options
man: lvmthin should use clearer thin pool options
Revert "Revert "man: lvmthin should use clearer thin pool options""
man: lvmthin remove unnecessary fixme
Revert "Revert "man: lvmcache should use clearer cache pool options""
man: lvmthin mention alternate syntax
tools: Add ALL_VGS_IS_DEFAULT flag.
tools: Add ENABLE_ALL_DEVS flag.
cache: include cache mode in vg metadata and display
man: lvmcache better cache mode info and other command variations
toollib: Rewrite process_each_vg.
toollib: Rewrite process_each_lv.
man: lvmthin show the lvcreate -n option for pools
man: lvmcache changes related to removal and splitting
man: lvmcache mention automatic pool conversion
toollib: Rewrite process_each_pv.
vgreduce: Use process_each_pv.
metadata: Use flags to control warnings.
test: Add process-each toollib tests.
toollib: remove dead code
toollib: remove unsed variable in process_each_segment_in_pv
vg_read: Remove unused READ_WITHOUT_LOCK.
Heinz Mauelshagen (1):
cleanup: Use segtype.h definitions of segment type names wherever possible
Jonathan Brassow (2):
clean-up: better macro usage
cache-pool: Fix specification of cachemode when converting to cache-pool
Liuhua Wang (1):
cmirror: fix endian issues on s390
Peter Rajnoha (30):
so: make sure shared libs are built with RELRO option
filters: fix incorrect filter indexing in composite filter array
conf: add allocation/physical_extent_size config option for default PE size of VGs.
libdm: use dm-mod autoloading during dm_is_dm_major call if needed
revert: commit 3880ca5ecad1761bd13a190c58f8f85fdd7cd0e1
libdm: fix dm_is_dm_major to not issue error about missing /proc lines for dm module.
libdm: finish the comment
refactor: make it possible to select what to check exactly when calling device_is_usable fn
filters: add "usable device" filter
filters: use usable device filter and separate lvmetad filter chain so it's not reevaluated for any lvmetad response
filters: refresh filters when lvmetad use is toggled
cleanup: remove symlink to profile in test dir for CLEAN target
filters: add cmd->full_filter - composite of cmd->filter and cmd->lvmetad_filter
cleanup: remove compiler warning about possible uninitialized variable use
metadata: add internal error if PV has no existing device attached during find_pv_in_vg
filter-usable: filter out blocked and suspended devices firmly when scanning for lvmetad
systemd: remove workaround for lvm2-monitor.service's ExecStop line
liblvm2cmd: recognize quotes properly when splitting cmd line string into argv array fields
report: lv_permissions: display read-only/read-only-override instead of blank when LV is not writeable
report: fix selection on {vg,lv}_permissions fields to properly match selection criteria
report: selection: fix selection criteria to not match reserved values when using >, <, >=, <
test: for issue fixed in previous commit 2f7f6932dcd450ba75fe590aba8c09838d2618dc
report: cleanup: simplify LVSINFO detection
cleanup: keep 'fall through' switch case for LVSINFO for compiler to understand this properly
refactor: rename struct lv_with_info used in reporting code to lv_with_info_and_seg_status
report: add new LVSSTATUS and SEGSSTATUS report type
dev_manager: enhance dev_manager_info to acquire LV segment status if requested, add lv_info_with_seg_status fn
report: add cache device status fields
WHATS_NEW: '_' -> ','
dev_manager: only support status for cache segment at the moment
Petr Rockai (15):
dev-cache: Filter wipe does not guarantee a full /dev scan.
lvmetad: Re-organise filters to properly avoid scans of component devices.
test: Add a test for MD component detection in pvscan --cache.
lvmetad: Differentiate between filtered and truly missing devices.
WHATS_NEW for filter-related changes
conf: Update comments on lvmetad+filters in example.conf.in.
lvconvert: Forward --splitmirror to a cache origin when applicable.
test: Show an activation bug in lvcreate of a cache over raid.
lvconvert: Allow --repair and --splitmirrors on reserved-name LVs.
test: Creating a cache on top of active RAID works now.
metadata: Fix find_pv_in_vg for missing PVs/filtered devices.
test: Fix lvconvert-raid-allocation's use of lvconvert --repair.
lvchange: Allow appropriate actions on cache (in addition to thin) pools.
NIX: Give the VMs 2G of RAM (for tmpfs) until the new runner is merged.
NIX: Fix 32b builds (2G of RAM is 1M too much for 32b QEMU).
Zdenek Kabelac (288):
cleanup: add stacktrace for error path
lv_rename: fix snapshot rename
lv_manip: remove vg_revert
lvconvert: use lv_update_and_reload
lv_update_and_reload: replace code sequence
lv_rename: actual fix for snapshot
tests: test for rename of snapshot
debug: turn message into debug
tests: test for rename of snapshot
allocation: use vg memory pool
raid: add missing backups
raid: add missing vg_revert
raid: add missing archive call
raid: check result of get_segtype_from_string
raid: add function for name creation
raid: use _generate_raid_name
debug: add missing stack trace on error path
cleanup: plain code reindent
cleanup: update _alloc_image_component function
raid: destroy allocation handle on error path
cleanup: better error messages
cleanup: missing error message
cleanup: simplify _extract_image_components
cleanup: avoid strlen() we know max size
cleanup: skip unused assign
thin: check for active lv
test: test there is no leak of LV on error path
tests: update lv_no_exists
va_list: properly pass va_list through functions
vgchange: disable cluster convert for active LVs
locking: add locking_supports_remote_queries
vgchange: support clustered conversion for active lv
cleanup: detect unsupported options earlier
debug: catch mmap with -DDEBUG_MEMLOCK
cleanup: update message
debug: enhance trap of mmap
makefiles: fix linking of PIE code
WHATS_NEW
debug: mmap traps mmap and mmap64 on i386
memlock: ensure memory is allocation before locking
memlock: drop uneeded lock
wipe_lv: move sync_local_dev_names in front
cleanup: switch to use CHANGE_AEY
cleanup: use const for cmd context
metadata: validate major, minor numbers
tools: common handling of --persistent option
lvchange: backup final metadata
cleanup: lvchange remove some extra code.
backup: drops locked memory
man: document obsoleted options
debug: enhance mmap catch code
cache: fix regression and invert test
cleanup: use int32 for major minor
fix: regression for recent persistent commit
activate: lv_check_not_in_use no check of closed
lv_ondisk: option search for lv without vg_ondisk
lv_update_and_reload: use proper lock holder
mirror: extend adjusted_mirror_region_size API
snapshot: add missing vg_revert
snapshot: use lv_update_and_reload
thin: no pool can be used for external origins
thin and cache: improve conversion validation
vgchange: add sync point
vgchange: use NULL 'feature' of lv_info call
validation: move check for spare correctness
cleanup: move printing after backup
cleanup: constify activation usage of lv pointer
lvconvert: reoder old snapshot merge
activate: update lv_check_not_in_use: API
cleanup: use find_lv_in_vg_by_lvid
cleanup: simplier _lv_passes_volumes_filter
cleanup: replace error with print message
cleanup: fix typo and use vg mempool
cleanup: use supplied cmd pointer
cleanup: drop uneeded backup call
cleanup: drop duplicate const usage
cleanup: reindent
debug: monitor_dev_for_events stack trace
debug: add missing stack trace
debug: drop printing debug trace without labeler
debug: show stacktrace on error path
debug: add debug message
tests: drop * from dmsetup
tests: add helper funcionality for using gdb
lvchange: missed bits for a8aee7dba2b76
Revert "man: lvmthin should use clearer thin pool options"
Revert "man: lvmcache should use clearer cache pool options"
toollib: refactor skip_dev_dir
toollib: refactor extract_vgname
cleanup: rename func
toollib: introduce validate_lvname_param
lvconvert: switch to validate_lvname_param
cleanup: drop unused variable
valgrind: don't eat mem with valgrind
lvcreate: refactor code
thin: lvcreate improve check of thin params
thin: better thin snapshot error detection
commands: support shortcut -H for cache objects
lvcreate: support --cache and --cachepool
toollib: validate also name
lvconvert: options splitcache, split, uncache
cache: add validate_lv_cache_create
lvconvert: reuse cache validation
lv_manip: fix out of order backup
lvcreate: reuse validation of names
pools: move removal of _pmspare
cache: lvremoved cached LV removes cache pool
cache: check activation of volume activated
lvremove: detect cluster wide active state
cache: improve creation code
cache: use same alg for cache size calc
lvconvert: validate cache conversion to snapshot
lvconvert: cache and thin conversion validation
lvconvert more test for thin external origin
lvconvert: splitsnapshot supports --yes
man: lvconvert new split options
vg/lvremove: support --yes
man: document -ff for removal
pool: validate_pool_chunk_size
pool: use validation
toolib: early validation of chunk size
lvcreate: validate sizes
validation: share more code for pool validation
validation: use validate_pool_chunk_size
cleanup: lvconvert use standard function exit
cleanup: error is already logged
cleanup: typo update
cleanup: indent
tests: lvcreate cache interface updates
tests: lvcreate thin-pool support --name
tests: lvcreate external origin
tests: lvconvert cache
tests: lvconvert thin pool
tests: lvconvert cache usage of thin pool
cleanup: dont hide pv_dev declaration from pv
tests: move cache raid to separate file
tests: check for cache and raid
tests: put devs into ""
tests: typos
cleanup: rename _name, _lv and _size
lvcreate: regression fix on lv name limits
toollib: validate_restricted_lvname_param
file-locking: skip locking of VG_SYNC_NAMES
segments: introduce lvseg_name
cleanup: drop default implementation
cache: validate for locked
cache: better error message
raid: query lock holder
pool: fix testmode support with pools
pool: better error message
libdm: add DM_LIST_HEAD_INIT macro
tools: refactor reporter code
tools: read yes_no_arg via int_value
segtypes: macro segtype_is_unknown
lvcreate: better logging for temporary device
lvcreate: move tests that requires activation
lvconvert: external detects more conflicts
segments: disable init of free segment
toollib: new arg list functions
lv_manip: improve should_wipe reporting
lv_manip: preserve read-only status in layered volume
cleanup: commands.h shorted string
cleanup: commands.h update descriptions
cleanup: indent
cleanup: move code
cleanup: sort args alphabetically
cleanup: simplier lv name construction
cleanup: move code for checking vg features
cleanup: don't backup twice
cleanup: use arg_is_set
cleanup: lv_manip drops duplicated internal error
cleanup: use matching flags for permissions
options: introduce pooldatasize option
cleanup: better stack tracing
cleanup: function embeded
cleanup: code move
pool: better error path handling
lvcreate: handle linear segment
pools: error path removes metadata
lvcreate: new validation code
toollib: persistent major minor
lvcreate: check for conflicting -Zy -Wy
segments: mark more of them unzeroable
cache: separate func for pool/origin validation
man: lvconvert/create updates
mirror: extra parsing for mirrorlog arg
tests: lvcreate usage
tests: new lvcreate functionality
tests: syncaction needs kernel fix
lvm2app: update to new lv_create_single API
pools: prefetch pool_lv and origin_lv
cache: apply chunk rounding also for cache creation.
thin: simplify thin volume creation
cache: support more args
lvcreate: delay check for free extents
tests: pytest update
tests: lvcreate-update
tests: update cache creation tests
pools: workaround hints
configure: option cleanup
sparse: configurable type for sparse volumes
configure: autoreconf
man: update lvcreate with sparse
lvcreate: improving recent lvcreate updates
segtype: drop cmdcontex pointer
lvmcmdline: extra support for decimal point
lvmcmdline: support size_mb_arg_with_percent
pv_manip: check for pe_ranges
metadata: add extents_from_percent_size
cleanup: remove unneeded assign
cleanup: prints and stacks
cleanup: extents_from_size is 32bit value
cleanup: shorter code
tests: raid syncaction test
tests: use aux func to disable device
tests: lvcreate snapshot usage update
tests: explicitely use old snapshots
tests: wait for raid sync
tests: update raid sync
libdm: init char array
lvcreate: tollerate defaults
filters: change return code
pool: validate sizes
thin: reporting of thin volumes simplified
thin: allow to convert chunksize of empty pool
cache: convert thin-pool
cache: allow deactivation of empty pool
cache: add wipe_cache_pool
cleanup: use extents to pass size to /lib
cleanup: rename virtual_extents
cleanup: add arg to _setup_task
cache: lv_cache_status
cache: support activation of empty cache-pool
cache: wipe cache-pool before reuse
cache: report stats for cache volumes usage
cleanup: use arg_is_set
cleanup: correcting tracing
cleanup: init of lcp
cleanup: standard params ordering
cleanup: rename function
cleanup: shorter code
cleanup: consistent name
cleanup: use logical_volume* directly
cleanup: use lv_is_pool
tests: usage of -m0 -Mn
tests: thin
lvconvert: convert missing sizes to extents
libdm: allow to activate any pool with tid == 0
thin: add lv_is_new_thin_pool
thin: no validation skip of new thin pools
thin: validate unused thin pool
thin: check for new pool before creating thin volume
thin: new pool is activated without overlay
tests: duplicate update of config
snapshot: no snapshot of any cache type LVs
lv: lv_active_change add needs_exclusive flag
activate: check all snap segs are inactive
cleanup: avoid dm_list size calc in common path
pools: after fail of vg_write no restore
pools: prompt only when metadata lv exists
cache: used cache-pool becomes invisible
raid: fix activation order
dmeventd: time scaling for status retry
segtype: add SEG_ONLY_EXCLUSIVE flag
lvremove: few more validation before archive
lv_manip: remove_layer_from_lv restore lv name
snapshot: virtual save commit
report: for cache LV report chunksize
cleanup: API get/set fixes
cleanup: cache API get/set
libdm: tunning cache API
cache: new API for libdm
man: _corig is reserved
cache: option
cache: _corig has UUID suffix
cache: use LV_PENDING_DELETE
cleanup: use chunk_size directly
cleanup: indents comments backtraces
cleanup: gcc warnings
debug: log tree type is created
tests: cache snapshot
tests: reach cache params
mirror: layer remove doesn't work properly with mirrors
dev_manager: workaround to allow top-level _tmeta, _tdata
libdm: still better API
cache: no status for pending deleted cache
cache: never create new table entry for deleted cache
cache: pending_delete fixes
9 years, 7 months