- Add upstream patches

1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
  1026-udevd-inotify-modernizations.patch
  1027-udev-synthesize-change-events-for-partitions-when-to.patch
  1028-udev-link-config-fix-mem-leak.patch
  1029-udev-try-first-re-reading-the-partition-table.patch
  1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
  1031-udev-make-sure-we-always-get-change-for-the-disk.patch
  1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch 

- Add upstream patches
  1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
  1026-udevd-inotify-modernizations.patch
  1027-udev-synthesize-change-events-for-partitions-when-to.patch
  1028-udev-link-config-fix-mem-leak.patch
  1029-udev-try-first-re-reading-the-partition-table.patch
  1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
  1031-udev-make-sure-we-always-get-change-for-the-disk.patch
  1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=662
This commit is contained in:
Robert Milasan 2014-06-09 08:41:53 +00:00 committed by Git OBS Bridge
parent 7c2faf8c73
commit 6ffaee480b
12 changed files with 560 additions and 0 deletions

View File

@ -0,0 +1,39 @@
From e918a1b5a94f270186dca59156354acd2a596494 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Tue, 3 Jun 2014 16:49:38 +0200
Subject: [PATCH] udev: exclude device-mapper from block device ownership event
locking
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index 819ea3b..6c05104 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -290,7 +290,19 @@ static void worker_new(struct event *event)
* acquired the lock, the external process will block until
* udev has finished its event handling.
*/
- if (streq_ptr("block", udev_device_get_subsystem(dev))) {
+
+ /*
+ * <kabi_> since we make check - device seems unused - we try
+ * ioctl to deactivate - and device is found to be opened
+ * <kay> sure, you try to take a write lock
+ * <kay> if you get it udev is out
+ * <kay> if you can't get it, udev is busy
+ * <kabi_> we cannot deactivate openned device (as it is in-use)
+ * <kay> maybe we should just exclude dm from that thing entirely
+ * <kabi_> IMHO this sounds like a good plan for this moment
+ */
+ if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
+ !startswith("dm-", udev_device_get_sysname(dev))) {
struct udev_device *d = dev;
if (streq_ptr("partition", udev_device_get_devtype(d)))
--
1.8.4.5

View File

@ -0,0 +1,85 @@
From edd32000c806e4527c5f376d138f7bff07724c26 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 4 Jun 2014 11:05:45 +0200
Subject: [PATCH] udevd: inotify - modernizations
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 45 ++++++++++++++++++++++-----------------------
1 file changed, 22 insertions(+), 23 deletions(-)
Index: systemd-210/src/udev/udevd.c
===================================================================
--- systemd-210.orig/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c
@@ -736,20 +736,30 @@ out:
return udev_ctrl_connection_unref(ctrl_conn);
}
+static void synthesize_change(struct udev_device *dev) {
+ char filename[UTIL_PATH_SIZE];
+
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
+ write_string_file(filename, "change");
+}
+
/* read inotify messages */
static int handle_inotify(struct udev *udev)
{
int nbytes, pos;
char *buf;
struct inotify_event *ev;
+ int r;
- if ((ioctl(fd_inotify, FIONREAD, &nbytes) < 0) || (nbytes <= 0))
- return 0;
+ r = ioctl(fd_inotify, FIONREAD, &nbytes);
+ if (r < 0 || nbytes <= 0)
+ return -errno;
buf = malloc(nbytes);
- if (buf == NULL) {
+ if (!buf) {
log_error("error getting buffer for inotify");
- return -1;
+ return -ENOMEM;
}
nbytes = read(fd_inotify, buf, nbytes);
@@ -759,27 +769,16 @@ static int handle_inotify(struct udev *u
ev = (struct inotify_event *)(buf + pos);
dev = udev_watch_lookup(udev, ev->wd);
- if (dev != NULL) {
- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev));
- if (ev->mask & IN_CLOSE_WRITE) {
- char filename[UTIL_PATH_SIZE];
- int fd;
-
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
- fd = open(filename, O_WRONLY|O_CLOEXEC);
- if (fd >= 0) {
- if (write(fd, "change", 6) < 0)
- log_debug("error writing uevent: %m");
- close(fd);
- }
- }
- if (ev->mask & IN_IGNORED)
- udev_watch_end(udev, dev);
+ if (!dev)
+ continue;
- udev_device_unref(dev);
- }
+ log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev));
+ if (ev->mask & IN_CLOSE_WRITE)
+ synthesize_change(dev);
+ else if (ev->mask & IN_IGNORED)
+ udev_watch_end(udev, dev);
+ udev_device_unref(dev);
}
free(buf);

View File

@ -0,0 +1,84 @@
From f3a740a5dae792fb6b2d411022ce8c29ced1c3f1 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 4 Jun 2014 12:16:28 +0200
Subject: [PATCH] udev: synthesize "change' events for partitions when tools
change the disk
This should make sure that fdisk-like programs will automatically
cause an update of all partitions, just like mkfs-like programs cause
an update of the partition.
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 42 insertions(+), 2 deletions(-)
Index: systemd-210/src/udev/udevd.c
===================================================================
--- systemd-210.orig/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c
@@ -46,6 +46,7 @@
#include <sys/utsname.h>
#include "udev.h"
+#include "udev-util.h"
#include "sd-daemon.h"
#include "cgroup-util.h"
#include "dev-setup.h"
@@ -736,15 +737,54 @@ out:
return udev_ctrl_connection_unref(ctrl_conn);
}
-static void synthesize_change(struct udev_device *dev) {
+static int synthesize_change(struct udev_device *dev) {
char filename[UTIL_PATH_SIZE];
+ int r;
log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
write_string_file(filename, "change");
+
+ /* for disks devices, re-trigger all partitions too */
+ if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
+ streq_ptr("disk", udev_device_get_devtype(dev))) {
+ struct udev *udev = udev_device_get_udev(dev);
+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
+ struct udev_list_entry *item;
+
+ e = udev_enumerate_new(udev);
+ if (!e)
+ return -ENOMEM;
+
+ r = udev_enumerate_add_match_parent(e, dev);
+ if (r < 0)
+ return r;
+
+ r = udev_enumerate_add_match_subsystem(e, "block");
+ if (r < 0)
+ return r;
+
+ r = udev_enumerate_scan_devices(e);
+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
+ _cleanup_udev_device_unref_ struct udev_device *d = NULL;
+
+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item));
+ if (!d)
+ continue;
+
+ if (!streq_ptr("partition", udev_device_get_devtype(d)))
+ continue;
+
+ log_debug("device %s closed, synthesising partition '%s' 'change'",
+ udev_device_get_devnode(dev), udev_device_get_devnode(d));
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL);
+ write_string_file(filename, "change");
+ }
+ }
+
+ return 0;
}
-/* read inotify messages */
static int handle_inotify(struct udev *udev)
{
int nbytes, pos;

View File

@ -0,0 +1,34 @@
From edf029b7fd9a5853a87d3ca99aac2922bb8a277e Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
Date: Wed, 4 Jun 2014 12:34:23 +0200
Subject: [PATCH] udev: link-config - fix mem leak
Reported by Kay.
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/net/link-config.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: systemd-210/src/udev/net/link-config.c
===================================================================
--- systemd-210.orig/src/udev/net/link-config.c
+++ systemd-210/src/udev/net/link-config.c
@@ -118,6 +118,7 @@ static void link_configs_free(link_confi
free(link->match_type);
free(link->description);
free(link->alias);
+ free(link->name_policy);
free(link);
}
@@ -205,7 +206,8 @@ static bool enable_name_policy(void) {
int link_config_load(link_config_ctx *ctx) {
int r;
- char **files, **f;
+ _cleanup_strv_free_ char **files;
+ char **f;
link_configs_free(ctx);

View File

@ -0,0 +1,94 @@
From ede344452a54e1c53f541cad12a06269a4fe96a9 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 4 Jun 2014 13:30:24 +0200
Subject: [PATCH] udev: try first re-reading the partition table
mounted partitions:
# dd if=/dev/zero of=/dev/sda bs=1 count=1
UDEV [4157.369250] change .../0:0:0:0/block/sda (block)
UDEV [4157.375059] change .../0:0:0:0/block/sda/sda1 (block)
UDEV [4157.397088] change .../0:0:0:0/block/sda/sda2 (block)
UDEV [4157.404842] change .../0:0:0:0/block/sda/sda4 (block)
unmounted partitions:
# dd if=/dev/zero of=/dev/sdb bs=1 count=1
UDEV [4163.450217] remove .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block)
UDEV [4163.593167] change .../target6:0:0/6:0:0:0/block/sdb (block)
UDEV [4163.713982] add .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block)
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 39 +++++++++++++++++++++++++++++++++------
1 file changed, 33 insertions(+), 6 deletions(-)
Index: systemd-210/src/udev/udevd.c
===================================================================
--- systemd-210.orig/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c
@@ -38,6 +38,7 @@
#include <sys/un.h>
#include <sys/signalfd.h>
#include <sys/epoll.h>
+#include <sys/mount.h>
#include <sys/poll.h>
#include <sys/wait.h>
#include <sys/stat.h>
@@ -741,17 +742,37 @@ static int synthesize_change(struct udev
char filename[UTIL_PATH_SIZE];
int r;
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
- write_string_file(filename, "change");
-
- /* for disks devices, re-trigger all partitions too */
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
- streq_ptr("disk", udev_device_get_devtype(dev))) {
+ streq_ptr("disk", udev_device_get_devtype(dev)) &&
+ !startswith("dm-", udev_device_get_sysname(dev))) {
+ int fd;
struct udev *udev = udev_device_get_udev(dev);
_cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
struct udev_list_entry *item;
+ /*
+ * Try to re-read the partition table, this only succeeds if
+ * none of the devices is busy.
+ *
+ * The kernel will send out a change event for the disk, and
+ * "remove/add" for all partitions.
+ */
+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
+ if (fd >= 0) {
+ r = ioctl(fd, BLKRRPART, 0);
+ close(fd);
+ if (r >= 0)
+ return 0;
+ }
+
+ /*
+ * Re-reading the partition table did not work, synthesize "change"
+ * events for the disk and all partitions.
+ */
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
+ write_string_file(filename, "change");
+
e = udev_enumerate_new(udev);
if (!e)
return -ENOMEM;
@@ -780,8 +801,14 @@ static int synthesize_change(struct udev
strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL);
write_string_file(filename, "change");
}
+
+ return 0;
}
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
+ write_string_file(filename, "change");
+
return 0;
}

View File

@ -0,0 +1,23 @@
From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 4 Jun 2014 14:09:31 +0200
Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL)
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: systemd-210/src/udev/udevd.c
===================================================================
--- systemd-210.orig/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c
@@ -757,7 +757,7 @@ static int synthesize_change(struct udev
* The kernel will send out a change event for the disk, and
* "remove/add" for all partitions.
*/
- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
if (fd >= 0) {
r = ioctl(fd, BLKRRPART, 0);
close(fd);

View File

@ -0,0 +1,98 @@
From e9fc29f4ecc9509ccc02eb8a014341e26c0d7831 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 4 Jun 2014 15:17:15 +0200
Subject: [PATCH] udev: make sure we always get "change" for the disk
The kernel will return 0 for REREADPT when no partition table
is found, we have to send out "change" ourselves.
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 53 +++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 39 insertions(+), 14 deletions(-)
Index: systemd-210/src/udev/udevd.c
===================================================================
--- systemd-210.orig/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c
@@ -745,34 +745,28 @@ static int synthesize_change(struct udev
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
streq_ptr("disk", udev_device_get_devtype(dev)) &&
!startswith("dm-", udev_device_get_sysname(dev))) {
+ bool part_table_read = false;
+ bool has_partitions = false;
int fd;
struct udev *udev = udev_device_get_udev(dev);
_cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
struct udev_list_entry *item;
/*
- * Try to re-read the partition table, this only succeeds if
- * none of the devices is busy.
- *
- * The kernel will send out a change event for the disk, and
- * "remove/add" for all partitions.
+ * Try to re-read the partition table. This only succeeds if
+ * none of the devices is busy. The kernel returns 0 if no
+ * partition table is found, and we will not get an event for
+ * the disk.
*/
fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
if (fd >= 0) {
r = ioctl(fd, BLKRRPART, 0);
close(fd);
if (r >= 0)
- return 0;
+ part_table_read = true;
}
- /*
- * Re-reading the partition table did not work, synthesize "change"
- * events for the disk and all partitions.
- */
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
- write_string_file(filename, "change");
-
+ /* search for partitions */
e = udev_enumerate_new(udev);
if (!e)
return -ENOMEM;
@@ -786,6 +780,37 @@ static int synthesize_change(struct udev
return r;
r = udev_enumerate_scan_devices(e);
+
+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
+ _cleanup_udev_device_unref_ struct udev_device *d = NULL;
+
+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item));
+ if (!d)
+ continue;
+
+ if (!streq_ptr("partition", udev_device_get_devtype(d)))
+ continue;
+
+ has_partitions = true;
+ break;
+ }
+
+ /*
+ * We have partitions and re-read the table, the kernel already sent
+ * out a "change" event for the disk, and "remove/add" for all
+ * partitions.
+ */
+ if (part_table_read && has_partitions)
+ return 0;
+
+ /*
+ * We have partitions but re-reading the partition table did not
+ * work, synthesize "change" for the disk and all partitions.
+ */
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
+ write_string_file(filename, "change");
+
udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
_cleanup_udev_device_unref_ struct udev_device *d = NULL;

View File

@ -0,0 +1,29 @@
From 02ba8fb3357daf57f6120ac512fb464a4c623419 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 4 Jun 2014 16:21:19 +0200
Subject: [PATCH] udev: guard REREADPT by exclusive lock instead of O_EXCL
Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
src/udev/udevd.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Index: systemd-210/src/udev/udevd.c
===================================================================
--- systemd-210.orig/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c
@@ -758,9 +758,12 @@ static int synthesize_change(struct udev
* partition table is found, and we will not get an event for
* the disk.
*/
- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
if (fd >= 0) {
- r = ioctl(fd, BLKRRPART, 0);
+ r = flock(fd, LOCK_EX|LOCK_NB);
+ if (r >= 0)
+ r = ioctl(fd, BLKRRPART, 0);
+
close(fd);
if (r >= 0)
part_table_read = true;

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com
- Add upstream patches
1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
1026-udevd-inotify-modernizations.patch
1027-udev-synthesize-change-events-for-partitions-when-to.patch
1028-udev-link-config-fix-mem-leak.patch
1029-udev-try-first-re-reading-the-partition-table.patch
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
-------------------------------------------------------------------
Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de

View File

@ -596,6 +596,22 @@ Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch1024: 1024-udev-always-close-lock-file-descriptor.patch
# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch
Patch1026: 1026-udevd-inotify-modernizations.patch
# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch
Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch
# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch
Patch1028: 1028-udev-link-config-fix-mem-leak.patch
# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch
Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch
# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
%define util_linux_version %(rpm -q util-linux --qf '%%{VERSION}' | awk -F . '{printf "%%2.2d%%2.2d%%2.2d", $1, $2, $3}')
@ -1054,6 +1070,14 @@ cp %{SOURCE7} m4/
%patch1022 -p1
%patch1023 -p0
%patch1024 -p0
%patch1025 -p1
%patch1026 -p1
%patch1027 -p1
%patch1028 -p1
%patch1029 -p1
%patch1030 -p1
%patch1031 -p1
%patch1032 -p1
# ensure generate files are removed
rm -f units/emergency.service

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com
- Add upstream patches
1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
1026-udevd-inotify-modernizations.patch
1027-udev-synthesize-change-events-for-partitions-when-to.patch
1028-udev-link-config-fix-mem-leak.patch
1029-udev-try-first-re-reading-the-partition-table.patch
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
-------------------------------------------------------------------
Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de

View File

@ -591,6 +591,22 @@ Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
# PATCH-FIX-UPSTREAM added at 2014/06/03
Patch1024: 1024-udev-always-close-lock-file-descriptor.patch
# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch
Patch1026: 1026-udevd-inotify-modernizations.patch
# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch
Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch
# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch
Patch1028: 1028-udev-link-config-fix-mem-leak.patch
# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch
Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch
# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
%define util_linux_version %(rpm -q util-linux --qf '%%{VERSION}' | awk -F . '{printf "%%2.2d%%2.2d%%2.2d", $1, $2, $3}')
@ -1049,6 +1065,14 @@ cp %{SOURCE7} m4/
%patch1022 -p1
%patch1023 -p0
%patch1024 -p0
%patch1025 -p1
%patch1026 -p1
%patch1027 -p1
%patch1028 -p1
%patch1029 -p1
%patch1030 -p1
%patch1031 -p1
%patch1032 -p1
# ensure generate files are removed
rm -f units/emergency.service