summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-10-17 22:01:41 +0000
committerMike Frysinger <vapier@gentoo.org>2011-10-17 22:01:41 +0000
commitb64eb5e4ca032cabc04bceb44543638423a32e68 (patch)
treec3e8b7ac86945b1a119ef9b0a73e7bfa220fa4e0 /sys-apps/util-linux/files
parentMark alpha/arm/hppa/ia64/m68k/s390/sh stable #384305. (diff)
downloadgentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.tar.gz
gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.tar.bz2
gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.zip
Add fixes from upstream for dmesg stopping with blank newlines #385305 by Maxime Gervais. Add fix from upstream for nfs/btrfs unmounting #385323 by Thomas Arnett.
(Portage version: 2.2.0_alpha65/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps/util-linux/files')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch102
-rw-r--r--sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch32
2 files changed, 134 insertions, 0 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch b/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch
new file mode 100644
index 000000000000..6225e51b79bc
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch
@@ -0,0 +1,102 @@
+https://bugs.gentoo.org/385305
+
+From 22f69825778f992ff98ed100252bf5e00a15d9d1 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Wed, 31 Aug 2011 12:28:39 +0200
+Subject: [PATCH] dmesg: fix for non-CONFIG_PRINTK_TIME kernels
+
+ * dmesg(1) incorrectly assumes that lines like "<6>\n"
+ are broken.
+
+ * it's more robust to assume the end of the record is "\n<"
+
+ * print \n for empty lines
+
+Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ sys-utils/dmesg.c | 16 ++++++++--------
+ 1 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c
+index 6090f4e..8e7bb4b 100644
+--- a/sys-utils/dmesg.c
++++ b/sys-utils/dmesg.c
+@@ -442,12 +442,12 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec)
+
+ if (!begin)
+ begin = p;
+- if (*p == '\n')
+- end = p;
+ if (i + 1 == rec->next_size) {
+ end = p + 1;
+ i++;
+- }
++ } else if (*p == '\n' && *(p + 1) == '<')
++ end = p;
++
+ if (begin && !*begin)
+ begin = NULL; /* zero(s) at the end of the buffer? */
+ if (!begin || !end)
+@@ -469,9 +469,6 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec)
+ }
+ }
+
+- if (end <= begin)
+- return -1; /* error */
+-
+ if (*begin == '[' && (*(begin + 1) == ' ' ||
+ isdigit(*(begin + 1)))) {
+ if (ctl->delta || ctl->ctime) {
+@@ -534,12 +531,15 @@ static void print_buffer(const char *buf, size_t size,
+ }
+
+ while (get_next_record(ctl, &rec) == 0) {
+- if (!rec.mesg_size)
+- continue;
+
+ if (!accept_record(ctl, &rec))
+ continue;
+
++ if (!rec.mesg_size) {
++ putchar('\n');
++ continue;
++ }
++
+ if (ctl->decode && rec.level >= 0 && rec.facility >= 0)
+ printf("%-6s:%-6s: ", facility_names[rec.facility].name,
+ level_names[rec.level].name);
+--
+1.7.6.1
+
+From 31c9099a81d3a9c70fdceb198eebed678173d954 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Fri, 2 Sep 2011 14:42:04 +0200
+Subject: [PATCH] dmesg: remove extra space only after time stamp
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ sys-utils/dmesg.c | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c
+index 8e7bb4b..b3713a0 100644
+--- a/sys-utils/dmesg.c
++++ b/sys-utils/dmesg.c
+@@ -480,11 +480,10 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec)
+ break;
+ }
+ }
++ if (begin < end && *begin == ' ')
++ begin++;
+ }
+
+- if (begin < end && *begin == ' ')
+- begin++;
+-
+ rec->mesg = begin;
+ rec->mesg_size = end - begin;
+
+--
+1.7.6.1
+
diff --git a/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch b/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch
new file mode 100644
index 000000000000..ac93787596a5
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch
@@ -0,0 +1,32 @@
+From 3a18db62e661fbb307ad3a53c18afabc92d3c63e Mon Sep 17 00:00:00 2001
+From: Petr Uzel <petr.uzel@suse.cz>
+Date: Tue, 13 Sep 2011 11:08:46 +0200
+Subject: [PATCH] lib: do not attempt to close(0) in sysfs_deinit()
+
+If the 'open' fails we 'goto err' which runs 'sysfs_deinit()' on a 'cxt'
+which hasn't been fully initialised. The 'dir_fd' is still 0, so
+sysfs_deinit calls "close(0)".
+
+Addresses: https://bugzilla.novell.com/show_bug.cgi?id=714151
+Reported-by: Diego Ercolani <diego.ercolani@gmail.com>
+Analysed-by: Neil Brown <nfbrown@suse.com>
+Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
+---
+ lib/sysfs.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/lib/sysfs.c b/lib/sysfs.c
+index eec1f24..ebb3bb5 100644
+--- a/lib/sysfs.c
++++ b/lib/sysfs.c
+@@ -140,6 +140,7 @@ int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent)
+ int fd, rc = 0;
+
+ memset(cxt, 0, sizeof(*cxt));
++ cxt->dir_fd = -1;
+
+ if (!sysfs_devno_path(devno, path, sizeof(path)))
+ goto err;
+--
+1.7.6.1
+