- Work around udevsettle command problem (RHBZ#548121).
- Enable tests.
This commit is contained in:
parent
703fa44ad9
commit
33bdf801da
@ -0,0 +1,57 @@
|
|||||||
|
From 5c6147ecc7ee3cf657edb1e19ad5ab4e973424e0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Jones <rjones@redhat.com>
|
||||||
|
Date: Fri, 18 Dec 2009 19:20:37 +0000
|
||||||
|
Subject: [PATCH] daemon: Work around udevsettle issue (RHBZ#548121).
|
||||||
|
|
||||||
|
---
|
||||||
|
daemon/guestfsd.c | 30 +++++++++---------------------
|
||||||
|
1 files changed, 9 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
|
||||||
|
index 520a4a4..0fc0128 100644
|
||||||
|
--- a/daemon/guestfsd.c
|
||||||
|
+++ b/daemon/guestfsd.c
|
||||||
|
@@ -1038,31 +1038,19 @@ device_name_translation (char *device, const char *func)
|
||||||
|
* involved. eg. You can create or remove some device, but the /dev
|
||||||
|
* device node won't appear until some time later. This means that
|
||||||
|
* you get an error if you run one command followed by another.
|
||||||
|
+ *
|
||||||
|
* Use 'udevadm settle' after certain commands, but don't be too
|
||||||
|
* fussed if it fails.
|
||||||
|
+ *
|
||||||
|
+ * 'udevsettle' was the old name for this command (RHEL 5). This was
|
||||||
|
+ * deprecated in favour of 'udevadm settle'. The old 'udevsettle'
|
||||||
|
+ * command was left as a symlink. Then in Fedora 13 the old symlink
|
||||||
|
+ * remained but it stopped working (RHBZ#548121), so we have to be
|
||||||
|
+ * careful not to assume that we can use 'udevsettle' if it exists.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
udev_settle (void)
|
||||||
|
{
|
||||||
|
- static int which_prog = 0;
|
||||||
|
-
|
||||||
|
- if (which_prog == 0) {
|
||||||
|
- if (access ("/sbin/udevsettle", X_OK) == 0)
|
||||||
|
- which_prog = 2;
|
||||||
|
- else if (access ("/sbin/udevadm", X_OK) == 0)
|
||||||
|
- which_prog = 1;
|
||||||
|
- else
|
||||||
|
- which_prog = 3;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- switch (which_prog) {
|
||||||
|
- case 1:
|
||||||
|
- command (NULL, NULL, "/sbin/udevadm", "settle", NULL);
|
||||||
|
- break;
|
||||||
|
- case 2:
|
||||||
|
- command (NULL, NULL, "/sbin/udevsettle", NULL);
|
||||||
|
- break;
|
||||||
|
- default:
|
||||||
|
- ;
|
||||||
|
- }
|
||||||
|
+ (void) command (NULL, NULL, "/sbin/udevadm", "settle", NULL);
|
||||||
|
+ (void) command (NULL, NULL, "/sbin/udevsettle", NULL);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.6.5.2
|
||||||
|
|
@ -5,7 +5,7 @@ Summary: Access and modify virtual machine disk images
|
|||||||
Name: libguestfs
|
Name: libguestfs
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.0.80
|
Version: 1.0.80
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
URL: http://libguestfs.org/
|
URL: http://libguestfs.org/
|
||||||
@ -15,6 +15,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|||||||
# Disable FUSE tests, not supported in Koji at the moment.
|
# Disable FUSE tests, not supported in Koji at the moment.
|
||||||
Patch0: libguestfs-1.0.79-no-fuse-test.patch
|
Patch0: libguestfs-1.0.79-no-fuse-test.patch
|
||||||
|
|
||||||
|
# Work around udevsettle command broken in Fedora 13 (RHBZ#548121).
|
||||||
|
Patch1: libguestfs-1.0.80-daemon-Work-around-udevsettle-issue-RHBZ-548121.patch
|
||||||
|
|
||||||
# Basic build requirements:
|
# Basic build requirements:
|
||||||
BuildRequires: /usr/bin/pod2man
|
BuildRequires: /usr/bin/pod2man
|
||||||
BuildRequires: /usr/bin/pod2text
|
BuildRequires: /usr/bin/pod2text
|
||||||
@ -328,6 +331,7 @@ Requires: jpackage-utils
|
|||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
mkdir -p daemon/m4
|
mkdir -p daemon/m4
|
||||||
|
|
||||||
@ -382,11 +386,11 @@ export LIBGUESTFS_DEBUG=1
|
|||||||
# (FIXED)
|
# (FIXED)
|
||||||
# 516096 ? F-11 race condition in swapoff/blockdev --rereadpt
|
# 516096 ? F-11 race condition in swapoff/blockdev --rereadpt
|
||||||
# 516543 ? F-12 qemu-kvm segfaults when run inside a VM (FIXED)
|
# 516543 ? F-12 qemu-kvm segfaults when run inside a VM (FIXED)
|
||||||
# 548121 all F-13 udevsettle command is broken
|
# 548121 all F-13 udevsettle command is broken (WORKAROUND)
|
||||||
|
|
||||||
#%ifarch x86_64 # reenable if we fix 548121
|
%ifarch x86_64
|
||||||
#make check
|
make check
|
||||||
#%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -602,6 +606,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 18 2009 Richard W.M. Jones <rjones@redhat.com> - 1.0.80-3
|
||||||
|
- Work around udevsettle command problem (RHBZ#548121).
|
||||||
|
- Enable tests.
|
||||||
|
|
||||||
* Wed Dec 16 2009 Richard W.M. Jones <rjones@redhat.com> - 1.0.80-2
|
* Wed Dec 16 2009 Richard W.M. Jones <rjones@redhat.com> - 1.0.80-2
|
||||||
- Disable tests because of RHBZ#548121.
|
- Disable tests because of RHBZ#548121.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user