master - release note: typo
by Joe Thornber
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=fab063cfcbbe2e3801b...
Commit: fab063cfcbbe2e3801ba2af7d061059eb37a7eaa
Parent: 9337ff48bcf5ed60a06c8cea8daafc855653e493
Author: Joe Thornber <ejt(a)redhat.com>
AuthorDate: Thu May 24 12:26:34 2018 +0100
Committer: Joe Thornber <ejt(a)redhat.com>
CommitterDate: Thu May 24 12:26:34 2018 +0100
release note: typo
---
doc/release-notes/2.02.178 | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/doc/release-notes/2.02.178 b/doc/release-notes/2.02.178
index 3a53eab..f986d1d 100644
--- a/doc/release-notes/2.02.178
+++ b/doc/release-notes/2.02.178
@@ -22,7 +22,7 @@ Almost all IO uses libaio now.
Rewrite label scanning
----------------------
-Dave Tiegland has reworked the label scanning and metadata reading
+Dave Teigland has reworked the label scanning and metadata reading
logic to minimise the amount a IOs issued. Combined with the aio changes
this can greatly improve scanning speed for some systems.
5 years, 11 months
master - release note: 2.02.178
by Joe Thornber
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=9337ff48bcf5ed60a06...
Commit: 9337ff48bcf5ed60a06c8cea8daafc855653e493
Parent: a90de76fd8502644e8b42daf88fe055c82fb2abc
Author: Joe Thornber <ejt(a)redhat.com>
AuthorDate: Thu May 24 12:18:03 2018 +0100
Committer: Joe Thornber <ejt(a)redhat.com>
CommitterDate: Thu May 24 12:22:11 2018 +0100
release note: 2.02.178
---
doc/release-notes/2.02.178 | 53 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/doc/release-notes/2.02.178 b/doc/release-notes/2.02.178
new file mode 100644
index 0000000..3a53eab
--- /dev/null
+++ b/doc/release-notes/2.02.178
@@ -0,0 +1,53 @@
+Version 2.02.178
+================
+
+There are going to be some large changes to the lvm2 codebase
+over the next year or so. Starting with this release. These
+changes should be internal rather than having a big effect on
+the command line. Inevitably these changes will increase the
+chance of bugs, so please be on the alert.
+
+
+Remove support for obsolete metadata formats
+--------------------------------------------
+
+Support for the GFS pool format, and format used by the
+original 1990's version of LVM1 have been removed.
+
+Use asynchronous IO
+-------------------
+
+Almost all IO uses libaio now.
+
+Rewrite label scanning
+----------------------
+
+Dave Tiegland has reworked the label scanning and metadata reading
+logic to minimise the amount a IOs issued. Combined with the aio changes
+this can greatly improve scanning speed for some systems.
+
+./configure options
+-------------------
+
+We're going to try and remove as many options from ./configure as we
+can. Each option multiplies the number of possible configurations
+that we should test (this testing is currently not occuring).
+
+The first batch to be removed are:
+
+ --enable-testing switch for ./configure has been removed.
+ --with-snapshots switch for ./configure has been removed.
+ --with-mirrors switch for ./configure has been removed.
+ --with-raid switch for ./configure has been removed.
+ --with-thin switch for ./configure has been removed.
+ --with-cache switch for ./configure has been removed.
+
+Stable targets that are in the upstream kernel will just be supported.
+
+In future optional target flags will be given in two situations:
+
+1) The target is experimental, or not upstream at all (eg, vdo).
+2) The target is deprecated and support will be removed at some future date.
+
+This decision could well be contentious, so could distro maintainers feel
+free to comment.
5 years, 11 months
master - tests: checking scanning correctness
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a90de76fd8502644e8b...
Commit: a90de76fd8502644e8b42daf88fe055c82fb2abc
Parent: f865e1bf87b474a0795e5b38456ebbeef406351c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu May 24 11:21:49 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu May 24 11:22:32 2018 +0200
tests: checking scanning correctness
---
test/shell/pvcreate-md-fake-hdr.sh | 93 ++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/test/shell/pvcreate-md-fake-hdr.sh b/test/shell/pvcreate-md-fake-hdr.sh
new file mode 100644
index 0000000..acd6785
--- /dev/null
+++ b/test/shell/pvcreate-md-fake-hdr.sh
@@ -0,0 +1,93 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2018 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+# TODO: once code get fixed, add matching 'check' calls
+SKIP_WITH_LVMLOCKD=1
+SKIP_WITH_LVMPOLLD=1
+
+. lib/inittest
+
+test -f /proc/mdstat && grep -q raid1 /proc/mdstat || \
+ modprobe raid1 || skip
+
+aux lvmconf 'devices/md_component_detection = 1'
+aux extend_filter_LVMTEST "a|/dev/md|"
+
+aux prepare_devs 4
+
+vgcreate $vg "$dev3" "$dev4"
+
+# create 2 disk MD raid1 array
+# by default using metadata format 1.0 with data at the end of device
+aux prepare_md_dev 1 64 2 "$dev1" "$dev2"
+
+mddev=$(< MD_DEV)
+pvdev=$(< MD_DEV_PV)
+
+mdadm --stop "$mddev"
+
+# copy fake PV/VG header PV3 -> PV2 (which is however md raid1 leg)
+dd if="$dev3" of="$dev2" bs=64k count=1 conv=fdatasync
+
+# remove VG on PV3 & PV4
+vgremove -f $vg
+
+sleep 3
+aux udev_wait
+# too bad 'dd' wakes up md array reassembling
+should not mdadm --detail "$mddev"
+should not mdadm --stop "$mddev"
+sleep 3
+
+# print what blkid thinks about each PV
+for i in "$dev1" "$dev2" "$dev3" "$dev4"
+do
+ blkid "$i"
+done
+
+# expect open count for each PV to be 0
+dmsetup info -c
+
+pvs -vvvv "$dev2" "$dev3" || true
+
+# still expect open count for each PV to be 0
+dmsetup info -c
+
+pvs -vvvv "$dev3" "$dev2" || true
+
+# and again we expect open count for each PV to be 0
+dmsetup info -c
+dmsetup table
+
+# even after 3 second of possible hidden raid array assembling
+sleep 3
+dmsetup info -c
+
+# if for any reason array went up - stop it again
+mdadm --detail "$mddev" && {
+ mdadm --stop "$mddev"
+ aux udev_wait
+ should not mdadm --detail "$mddev"
+}
+
+# now reassemble array from PV1 & PV2
+mdadm --assemble --verbose "$mddev" "$dev1" "$dev2"
+aux udev_wait
+sleep 1
+
+# and let 'fake hdr' to be fixed from master/primary leg
+mdadm --action=repair "$mddev"
+sleep 1
+
+# should be showing correctly PV3 & PV4
+pvs
5 years, 11 months
master - tests: correcting symlink manipulation
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=89f34eaf0cc2d3916f9...
Commit: 89f34eaf0cc2d3916f9aa640e3a660c6c18fd3b8
Parent: 76a45424a7b4d2e903bcb41b45b4f8cf131183ce
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu May 24 11:04:38 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu May 24 11:22:32 2018 +0200
tests: correcting symlink manipulation
Fix symlink and add 'verbose' pvs for a while for checking
scanning correctness.
---
test/shell/pvcreate-operation-md.sh | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/test/shell/pvcreate-operation-md.sh b/test/shell/pvcreate-operation-md.sh
index d228ada..359113d 100644
--- a/test/shell/pvcreate-operation-md.sh
+++ b/test/shell/pvcreate-operation-md.sh
@@ -83,7 +83,7 @@ EOF
if aux kernel_at_least 2 6 33 ; then
# in case the system is running without devtmpfs /dev
# wait here for created device node on tmpfs
- test "$DM_DEV_DIR" != "/dev" && cp -LR "${mddev}p1" "$DM_DEV_DIR"
+ test "$DM_DEV_DIR" = "/dev" || cp -LR "${mddev}p1" "${pvdev%/*}"
pvcreate --metadatasize 128k "${pvdev}p1"
@@ -100,20 +100,25 @@ EOF
check pv_field "${pvdev}p1" pe_start $pv_align --units b --nosuffix
pvremove "${pvdev}p1"
- test "$DM_DEV_DIR" != "/dev" && rm -f "$DM_DEV_DIR/${mddev}p1"
+ test "$DM_DEV_DIR" = "/dev" || rm -f "${pvdev}p1"
fi
fi
# Test newer topology-aware alignment detection w/ --dataalignment override
if aux kernel_at_least 2 6 33 ; then
# make sure we're clean for another test
- dd if=/dev/zero of="$mddev" bs=512 count=1
+ dd if=/dev/zero of="$mddev" bs=512 count=4 conv=fdatasync
+ partprobe -s "$mddev"
aux prepare_md_dev 0 1024 2 "$dev1" "$dev2"
pvdev=$(< MD_DEV_PV)
# optimal_io_size=2097152, minimum_io_size=1048576
pvcreate --metadatasize 128k \
--config 'devices { md_chunk_alignment=0 }' "$pvdev"
+
+ # to see the processing of scanning
+ pvs -vvvv
+
check pv_field "$pvdev" pe_start "2.00m"
# now verify pe_start alignment override using --dataalignment
5 years, 11 months
master - man: make generate
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=c46dbfb14e00beaa143...
Commit: c46dbfb14e00beaa143871dbcefc23612a63f4e0
Parent: 4be1ec3da4eaa4ae315ca7c33265828dda37c58c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Wed May 23 19:46:47 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Wed May 23 19:46:47 2018 +0200
man: make generate
---
man/vgexport.8_pregen | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/man/vgexport.8_pregen b/man/vgexport.8_pregen
index 74aa597..1dd715e 100644
--- a/man/vgexport.8_pregen
+++ b/man/vgexport.8_pregen
@@ -8,11 +8,22 @@ vgexport - Unregister volume group(s) from the system
[ \fIoption_args\fP ]
.br
.SH DESCRIPTION
-vgexport makes inactive VGs unknown to the system. In this state, all the
-PVs in the VG can be moved to a different system, from which
-\fBvgimport\fP(8) can then be run.
+vgexport changes a VG into the exported state, which ensures that the VG
+and its disks are not being used, and cannot be used until the VG is
+imported by \fBvgimport\fP(8). Putting a VG into an unusable, offline
+state can be useful when doing things like moving a VG's disks to another
+system. Exporting a VG provides some protection from its LVs being
+accidentally used, or being used by an automated system before it's ready.
-Most LVM tools ignore exported VGs.
+A VG cannot be exported until all of its LVs are inactive.
+
+LVM commands will ignore an exported VG or report an error if a command
+tries to use it.
+
+For an exported VG, the vgs command will display \"x\" in the third VG
+attribute, and the pvs command will display \"x\" in the second PV
+attribute. Both vgs and pvs will display \"exported\" from the export
+report field.
vgexport clears the VG system ID, and vgimport sets the VG system ID to
match the host running vgimport (if the host has a system ID).
5 years, 11 months
master - man: fix cut and paste bug
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=4be1ec3da4eaa4ae315...
Commit: 4be1ec3da4eaa4ae315ca7c33265828dda37c58c
Parent: c35d3242a8897c054c993dc59ad6e1cfff658061
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Wed May 23 19:45:53 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Wed May 23 19:45:53 2018 +0200
man: fix cut and paste bug
Fixing missing 'META' in DMEVENTD_THIN_POOL_METADATA.
---
man/dmeventd.8_main | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/man/dmeventd.8_main b/man/dmeventd.8_main
index 7e3f9a2..98b1b98 100644
--- a/man/dmeventd.8_main
+++ b/man/dmeventd.8_main
@@ -134,7 +134,7 @@ Variable is set by thin plugin and is available to executed program. Value prese
actual usage of thin pool data volume. Variable is not set when error event
is processed.
.TP
-.B DMEVENTD_THIN_POOL_DATA
+.B DMEVENTD_THIN_POOL_METADATA
Variable is set by thin plugin and is available to executed program. Value present
actual usage of thin pool metadata volume. Variable is not set when error event
is processed.
5 years, 11 months
master - tests: aux improve for mdadm support
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=76a45424a7b4d2e903b...
Commit: 76a45424a7b4d2e903bcb41b45b4f8cf131183ce
Parent: c46dbfb14e00beaa143871dbcefc23612a63f4e0
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu May 24 11:03:47 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu May 24 11:03:47 2018 +0200
tests: aux improve for mdadm support
Correcting some symlink handling.
---
test/lib/aux.sh | 28 ++++++++++++++++++----------
1 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index f6206ce..bf766f2 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -755,11 +755,14 @@ prepare_md_dev() {
local coption="--chunk"
local maj
local mddev
+ local mddir="md/"
+ local mdname
+ local mddevdir
maj=$(mdadm --version 2>&1) || skip "mdadm tool is missing!"
cleanup_md_dev
- rm -f debug.log strace.log MD_DEV MD_DEV_PV MD_DEVICES
+ rm -f debug.log strace.log
case "$level" in
"1") coption="--bitmap-chunk" ;;
@@ -770,9 +773,11 @@ prepare_md_dev() {
# - newer mdadm _completely_ defers to udev to create the associated device node
maj=${maj##*- v}
maj=${maj%%.*}
- [ "$maj" -ge 3 ] && \
- mddev=/dev/md/md_lvm_test0 || \
- mddev=/dev/md_lvm_test0
+ [ "$maj" -ge 3 ] || mddir=""
+
+ mdname="md_lvm_test0"
+ mddev="/dev/${mddir}$mdname"
+ mddevdir="$DM_DEV_DIR/$mddir"
mdadm --create --metadata=1.0 "$mddev" --auto=md --level "$level" $with_bitmap "$coption"="$rchunk" --raid-devices="$rdevs" "${@:4}" || {
# Some older 'mdadm' version managed to open and close devices internaly
@@ -791,10 +796,11 @@ prepare_md_dev() {
# LVM/DM will see this device
case "$DM_DEV_DIR" in
- "/dev") readlink -f "$mddev" ;;
- *) cp -LR "$mddev" "$DM_DEV_DIR"
- echo "$DM_DEV_DIR/md_lvm_test0" ;;
- esac > MD_DEV_PV
+ "/dev") readlink -f "$mddev" > MD_DEV_PV ;;
+ *) mkdir -p "$mddevdir"
+ cp -LR "$mddev" "$mddevdir"
+ echo "${mddevdir}${mdname}" > MD_DEV_PV ;;
+ esac
echo "$mddev" > MD_DEV
notify_lvmetad "$(< MD_DEV_PV)"
printf "%s\n" "${@:4}" > MD_DEVICES
@@ -809,12 +815,14 @@ cleanup_md_dev() {
local IFS=$IFS_NL
local dev
local mddev
+ local mddev_pv
mddev=$(< MD_DEV)
+ mddev_pv=$(< MD_DEV_PV)
udev_wait
mdadm --stop "$mddev" || true
- test "$DM_DEV_DIR" != "/dev" && rm -f "$DM_DEV_DIR/$(basename "$mddev")"
- notify_lvmetad "$(< MD_DEV_PV)"
+ notify_lvmetad "$mddev_pv"
udev_wait # wait till events are process, not zeroing to early
+ test "$DM_DEV_DIR" != "/dev" && rm -rf "${mddev_pv%/*}"
for dev in $(< MD_DEVICES); do
mdadm --zero-superblock "$dev" || true
notify_lvmetad "$dev"
5 years, 11 months
master - tests: passthrough args with extend_filter_LVMTEST
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=f865e1bf87b474a0795...
Commit: f865e1bf87b474a0795e5b38456ebbeef406351c
Parent: 89f34eaf0cc2d3916f9aa640e3a660c6c18fd3b8
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu May 24 11:12:17 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu May 24 11:22:59 2018 +0200
tests: passthrough args with extend_filter_LVMTEST
Don't rebuild config twice.
---
test/lib/aux.sh | 2 +-
test/shell/lvmetad-pvscan-md.sh | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index bf766f2..b47ce1f 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -1175,7 +1175,7 @@ extend_filter() {
}
extend_filter_LVMTEST() {
- extend_filter "a|$DM_DEV_DIR/$PREFIX|"
+ extend_filter "a|$DM_DEV_DIR/$PREFIX|" "$@"
}
hide_dev() {
diff --git a/test/shell/lvmetad-pvscan-md.sh b/test/shell/lvmetad-pvscan-md.sh
index 4d4dae2..5fb4d50 100644
--- a/test/shell/lvmetad-pvscan-md.sh
+++ b/test/shell/lvmetad-pvscan-md.sh
@@ -25,8 +25,7 @@ aux prepare_devs 2
aux prepare_md_dev 0 64 2 "$dev1" "$dev2"
aux lvmconf 'devices/md_component_detection = 1'
-aux extend_filter_LVMTEST
-aux extend_filter "a|/dev/md.*|"
+aux extend_filter_LVMTEST "a|/dev/md|"
pvdev=$(< MD_DEV_PV)
5 years, 11 months
master - gitignore
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=c35d3242a8897c054c9...
Commit: c35d3242a8897c054c993dc59ad6e1cfff658061
Parent: 87291a28328e6b786ea6674aa52003e7f4af0ac3
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue May 22 13:45:21 2018 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Wed May 23 16:53:18 2018 +0200
gitignore
---
.gitignore | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 insertions(+), 1 deletions(-)
diff --git a/.gitignore b/.gitignore
index 3038524..f51bb67 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,5 +79,55 @@ test/lib/vgrename
test/lib/vgs
test/lib/vgscan
test/lib/vgsplit
-
+test/api/lvtest.t
+test/api/pe_start.t
+test/api/percent.t
+test/api/python_lvm_unit.py
+test/api/test
+test/api/thin_percent.t
+test/api/vglist.t
+test/api/vgtest.t
+test/lib/aux
+test/lib/check
+test/lib/clvmd
+test/lib/dm-version-expected
+test/lib/dmeventd
+test/lib/dmsetup
+test/lib/dmstats
+test/lib/fail
+test/lib/flavour-ndev-cluster
+test/lib/flavour-ndev-cluster-lvmpolld
+test/lib/flavour-ndev-lvmetad
+test/lib/flavour-ndev-lvmetad-lvmpolld
+test/lib/flavour-ndev-lvmpolld
+test/lib/flavour-ndev-vanilla
+test/lib/flavour-udev-cluster
+test/lib/flavour-udev-cluster-lvmpolld
+test/lib/flavour-udev-lvmetad
+test/lib/flavour-udev-lvmetad-lvmpolld
+test/lib/flavour-udev-lvmlockd-dlm
+test/lib/flavour-udev-lvmlockd-sanlock
+test/lib/flavour-udev-lvmlockd-test
+test/lib/flavour-udev-lvmpolld
+test/lib/flavour-udev-vanilla
+test/lib/fsadm
+test/lib/get
+test/lib/inittest
+test/lib/invalid
+test/lib/lvm
+test/lib/lvm-wrapper
+test/lib/lvmchange
+test/lib/lvmdbusd.profile
+test/lib/lvmetad
+test/lib/lvmpolld
+test/lib/not
+test/lib/paths
+test/lib/paths-common
+test/lib/runner
+test/lib/should
+test/lib/test
+test/lib/thin-performance.profile
+test/lib/utils
+test/lib/version-expected
+test/unit/dmraid_t.c
test/unit/unit-test
5 years, 11 months