master - lvmetad: Fix an invalid memory read that could cause a deadlock.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c8e868f6e077e7...
Commit: c8e868f6e077e733b56514fb34301e11f4a8300a
Parent: 301ac8a07cb1c043cea61eb58ea2bae42a2cbcc2
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Sat Mar 1 00:42:09 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Sat Mar 1 00:42:09 2014 +0100
lvmetad: Fix an invalid memory read that could cause a deadlock.
---
daemons/lvmetad/lvmetad-core.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/daemons/lvmetad/lvmetad-core.c b/daemons/lvmetad/lvmetad-core.c
index db05dc2..1792fc0 100644
--- a/daemons/lvmetad/lvmetad-core.c
+++ b/daemons/lvmetad/lvmetad-core.c
@@ -958,9 +958,13 @@ static response pv_found(lvmetad_state *s, request r)
}
if (vgid_old && (!vgid || strcmp(vgid, vgid_old))) {
+ /* make a copy, because vg_remove_if_missing will deallocate the
+ * storage behind vgid_old */
+ vgid_old = dm_strdup(vgid_old);
lock_vg(s, vgid_old);
vg_remove_if_missing(s, vgid_old, 1);
unlock_vg(s, vgid_old);
+ dm_free(vgid_old);
}
return daemon_reply_simple("OK",
9 years, 7 months
master - NIX: Cope with existence of multiple primary.xml files.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=301ac8a07cb1c0...
Commit: 301ac8a07cb1c043cea61eb58ea2bae42a2cbcc2
Parent: daa897fe90d59c823af6c4b29c5b75fec5ad0be9
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 23:56:04 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 23:56:04 2014 +0100
NIX: Cope with existence of multiple primary.xml files.
This can happen temporarily while a mirror is syncing (parsing repomd.xml
would be a better fix, but slightly tricky since it's xml).
---
nix/default.nix | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/nix/default.nix b/nix/default.nix
index 75c7277..140ae7f 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -75,11 +75,11 @@ let
unifiedSystemDir = true;
};
rawhide = version: arch: repodata: import (pkgs.runCommand "rawhide-${version}-${arch}.nix" {} ''
- sha=$(grep primary.xml ${repodata} | sed -re 's:.* ([0-9a-f]+)-primary.*:\1:')
+ sha=$(grep primary.xml ${repodata} | sed -re 's:.* ([0-9a-f]+)-primary.*:\1:' | head -n 1)
echo '{fedora}: fedora { version = "${version}"; sha = "'$sha'"; arch = "${arch}"; }' > $out
'') { inherit fedora; };
update = version: arch: repodata: orig: orig // (import (pkgs.runCommand "updates-fedora.nix" {} ''
- sha=$(grep primary.xml ${repodata} | sed -re 's:.* ([0-9a-f]+)-primary.*:\1:')
+ sha=$(grep primary.xml ${repodata} | sed -re 's:.* ([0-9a-f]+)-primary.*:\1:' | head -n 1)
echo fedora ${version} updates sha: $sha
(echo 'fetchurl: orig: { packagesLists = [ orig.packagesList ('
echo "fetchurl { "
9 years, 7 months
master - test: Fix stat calls in lvmetad-pvscan-filter.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=daa897fe90d59c...
Commit: daa897fe90d59c823af6c4b29c5b75fec5ad0be9
Parent: 1bb29bb402c24b7c0230e36b618ac5ce9c0ce822
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 23:33:30 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 23:33:30 2014 +0100
test: Fix stat calls in lvmetad-pvscan-filter.
---
test/shell/lvmetad-pvscan-filter.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/shell/lvmetad-pvscan-filter.sh b/test/shell/lvmetad-pvscan-filter.sh
index 5aed532..6ece577 100644
--- a/test/shell/lvmetad-pvscan-filter.sh
+++ b/test/shell/lvmetad-pvscan-filter.sh
@@ -15,8 +15,8 @@ test -e LOCAL_LVMETAD || skip
aux prepare_pvs 2
-maj=$(($(stat --printf=0x%t "$dev2")))
-min=$(($(stat --printf=0x%T "$dev2")))
+maj=$(($(stat -L --printf=0x%t "$dev2")))
+min=$(($(stat -L --printf=0x%T "$dev2")))
aux hide_dev $dev2
not pvscan --cache $dev2 2>&1 | grep "not found"
9 years, 7 months
master - test: Downgrade lvmetad-lvm1 failure to a warning.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=1bb29bb402c24b...
Commit: 1bb29bb402c24b7c0230e36b618ac5ce9c0ce822
Parent: 6733ac86d717df0bc8de5ea0ae59f9d017f9e208
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 23:33:17 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 23:33:17 2014 +0100
test: Downgrade lvmetad-lvm1 failure to a warning.
---
test/shell/lvmetad-lvm1.sh | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/shell/lvmetad-lvm1.sh b/test/shell/lvmetad-lvm1.sh
index 528eec2..043750e 100644
--- a/test/shell/lvmetad-lvm1.sh
+++ b/test/shell/lvmetad-lvm1.sh
@@ -14,9 +14,9 @@
test -e LOCAL_LVMETAD || skip
aux prepare_devs 2
pvcreate --metadatatype 1 $dev1
-vgscan --cache
-pvs | grep $dev1
+should vgscan --cache
+pvs | should grep $dev1
vgcreate --metadatatype 1 $vg1 $dev1
-vgscan --cache
-vgs | grep $vg1
-pvs | grep $dev1
+should vgscan --cache
+vgs | should grep $vg1
+pvs | should grep $dev1
9 years, 7 months
master - test: Fix the failing branch in aux lvmetad_talk.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=6733ac86d717df...
Commit: 6733ac86d717df0bc8de5ea0ae59f9d017f9e208
Parent: fb003cdfd5eee1d67887cd2136630cc36bba2cbf
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 23:30:17 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 23:30:17 2014 +0100
test: Fix the failing branch in aux lvmetad_talk.
---
test/lib/aux.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index ab3fc05..5ae40e8 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -94,7 +94,7 @@ lvmetad_talk() {
else
echo "WARNING: Neither socat nor nc -U seems to be available." 1>&2
echo "# failed to contact lvmetad"
- return 1
+ exit 1
fi | tee -a lvmetad-talk.txt
}
9 years, 7 months
master - format-text: Fix a warning.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=fb003cdfd5eee1...
Commit: fb003cdfd5eee1d67887cd2136630cc36bba2cbf
Parent: 3e5bec37e9cec455f20656858ba510b69010676d
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 16:23:16 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 16:23:16 2014 +0100
format-text: Fix a warning.
---
lib/format_text/format-text.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index e0b2786..29df5f1 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -1684,7 +1684,7 @@ static int _mda_export_text_raw(struct metadata_area *mda,
struct mda_context *mdc = (struct mda_context *) mda->metadata_locn;
char mdah[MDA_HEADER_SIZE]; /* temporary */
- if (!mdc || !_raw_read_mda_header(mdah, &mdc->area))
+ if (!mdc || !_raw_read_mda_header((struct mda_header *)mdah, &mdc->area))
return 1; /* pretend the MDA does not exist */
return config_make_nodes(cft, parent, NULL,
9 years, 7 months
master - format-text: Fix _raw_read_mda_header (missing close, open r/o).
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=3e5bec37e9cec4...
Commit: 3e5bec37e9cec455f20656858ba510b69010676d
Parent: c69d37d1260aac04b8964ca92af489a2de0e9d77
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 16:21:09 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 16:21:09 2014 +0100
format-text: Fix _raw_read_mda_header (missing close, open r/o).
---
lib/format_text/format-text.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index 0d6483a..e0b2786 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -318,12 +318,15 @@ static void _xlate_mdah(struct mda_header *mdah)
static int _raw_read_mda_header(struct mda_header *mdah, struct device_area *dev_area)
{
- if (!dev_open(dev_area->dev))
+ if (!dev_open_readonly(dev_area->dev))
return_0;
if (!dev_read(dev_area->dev, dev_area->start, MDA_HEADER_SIZE, mdah))
return_0;
+ if (!dev_close(dev_area->dev))
+ return_0;
+
if (mdah->checksum_xl != xlate32(calc_crc(INITIAL_CRC, (uint8_t *)mdah->magic,
MDA_HEADER_SIZE -
sizeof(mdah->checksum_xl)))) {
9 years, 7 months
master - spec: udev rules don't live under %{_prefix} on fc16/rhel6
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c69d37d1260aac...
Commit: c69d37d1260aac04b8964ca92af489a2de0e9d77
Parent: f3b9fe60242456f0e89a30e89b2f2849a78bb9e8
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 14:18:15 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 14:18:15 2014 +0100
spec: udev rules don't live under %{_prefix} on fc16/rhel6
---
spec/source.inc | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/spec/source.inc b/spec/source.inc
index 4b93be3..0a1c270 100644
--- a/spec/source.inc
+++ b/spec/source.inc
@@ -33,6 +33,9 @@
%global req_udev udev >= 158-1
%global req_cluster openais >= 1.1.1-1, cman >= 3.0.6-1, corosync >= 1.2.0-1
+
+%global _udevbasedir /lib/udev
+%global _udevdir %{_udevbasedir}/rules.d
%endif
%if %{fedora} == 16
9 years, 7 months
master - test: Add lvmetad_talk and lvmetad_dump to aux.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=f3b9fe60242456...
Commit: f3b9fe60242456f0e89a30e89b2f2849a78bb9e8
Parent: 8e814eb8997d6aa5e3169d909a3ce1d8d2536897
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 11:18:33 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 11:23:53 2014 +0100
test: Add lvmetad_talk and lvmetad_dump to aux.
---
test/lib/aux.sh | 16 ++++++++++++++++
test/shell/lvmetad-dump.sh | 20 ++------------------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index de14253..ab3fc05 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -86,6 +86,22 @@ prepare_lvmetad() {
echo ok
}
+lvmetad_talk() {
+ if type -p socat >& /dev/null; then
+ socat "unix-connect:$TESTDIR/lvmetad.socket" -
+ elif echo | nc -U "$TESTDIR/lvmetad.socket"; then
+ nc -U "$TESTDIR/lvmetad.socket"
+ else
+ echo "WARNING: Neither socat nor nc -U seems to be available." 1>&2
+ echo "# failed to contact lvmetad"
+ return 1
+ fi | tee -a lvmetad-talk.txt
+}
+
+lvmetad_dump() {
+ (echo 'request="dump"'; echo '##') | lvmetad_talk "$@"
+}
+
notify_lvmetad() {
if test -e LOCAL_LVMETAD; then
pvscan --cache "$@" || true
diff --git a/test/shell/lvmetad-dump.sh b/test/shell/lvmetad-dump.sh
index 462de1c..9c9cd2b 100644
--- a/test/shell/lvmetad-dump.sh
+++ b/test/shell/lvmetad-dump.sh
@@ -16,24 +16,8 @@ aux prepare_pvs 2
vgcreate $vg1 $dev1 $dev2
lvcreate -n bar -l 1 $vg1
-lvmetad_talk() {
- if type -p socat >& /dev/null; then
- socat "unix-connect:$1" -
- elif echo | nc -U "$1"; then
- nc -U "$1"
- else
- echo "WARNING: Neither socat nor nc -U seems to be available." 1>&2
- echo "# DUMP FAILED"
- return 1
- fi
-}
-
-lvmetad_dump() {
- (echo 'request="dump"'; echo '##') | lvmetad_talk "$@"
-}
-
-(echo | lvmetad_talk ./lvmetad.socket) || skip
-lvmetad_dump ./lvmetad.socket | tee lvmetad.txt
+(echo | aux lvmetad_talk) || skip
+aux lvmetad_dump | tee lvmetad.txt
grep $vg1 lvmetad.txt
9 years, 7 months
master - test: Fix notify_lvmetad for symlinked devices.
by Petr Rockai
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=8e814eb8997d6a...
Commit: 8e814eb8997d6aa5e3169d909a3ce1d8d2536897
Parent: bf29eabdba4be1c706da7b80c803de5a98619baf
Author: Petr Rockai <me(a)mornfall.net>
AuthorDate: Fri Feb 28 11:07:56 2014 +0100
Committer: Petr Rockai <me(a)mornfall.net>
CommitterDate: Fri Feb 28 11:23:53 2014 +0100
test: Fix notify_lvmetad for symlinked devices.
---
test/lib/aux.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 66ed910..de14253 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -381,8 +381,8 @@ disable_dev() {
udev_wait
init_udev_transaction
for dev in "$@"; do
- maj=$(($(stat --printf=0x%t "$dev")))
- min=$(($(stat --printf=0x%T "$dev")))
+ maj=$(($(stat -L --printf=0x%t "$dev")))
+ min=$(($(stat -L --printf=0x%T "$dev")))
echo "Disabling device $dev ($maj:$min)"
dmsetup remove -f "$dev" 2>/dev/null || true
notify_lvmetad --major "$maj" --minor "$min"
9 years, 7 months