Home Home > GIT Browse > openSUSE-15.0
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2015-03-18 07:00:20 +0100
committerMichal Marek <mmarek@suse.cz>2015-03-18 07:00:20 +0100
commite04ff7e20e4fbf14d8fdf7007f8fd299ec31fbd1 (patch)
tree8765bdbe3ba9d81355342adcb4115127f2e796d2
parent0f64208d8550e89ce1413613e3e0a9b4965afa18 (diff)
parent65d2a980a8516453e65e1f83dcfe6cf1fb6d6da1 (diff)
Merge branch 'SLE11-SP3' into SLE11-SP4rpm-3.0.101-52
-rw-r--r--patches.fixes/0001-md-plug_cnt.fix46
-rw-r--r--patches.fixes/fs-pipe.c-add-statfs-callback-for-pipefs.patch42
-rw-r--r--series.conf2
3 files changed, 85 insertions, 5 deletions
diff --git a/patches.fixes/0001-md-plug_cnt.fix b/patches.fixes/0001-md-plug_cnt.fix
index 1a4ed1655d..29989a4713 100644
--- a/patches.fixes/0001-md-plug_cnt.fix
+++ b/patches.fixes/0001-md-plug_cnt.fix
@@ -2,7 +2,7 @@ From: NeilBrown <neilb@suse.de>
Subject: md: don't wait for plug_cnt to go to zero
Patch-mainline: v3.16
Git-Commit: 0021b7bc045e4b0b85d8c53614342aaf84ca96a5
-References: bnc#891641
+References: bnc#891641, bnc#922693
This isn't needed and might cause problems.
Based on upstream patch
@@ -14,9 +14,11 @@ from Linux 3.16
Signed-off-by: NeilBrown <neilb@suse.de>
---
- drivers/md/md.c | 3 +--
- drivers/md/raid1.c | 3 +--
- 2 files changed, 2 insertions(+), 4 deletions(-)
+ drivers/md/md.c | 3 +--
+ drivers/md/raid1.c | 3 +--
+ drivers/md/raid10.c | 3 +--
+ drivers/md/raid5.c | 6 ++----
+ 4 files changed, 5 insertions(+), 10 deletions(-)
--- linux-3.0-SLE11-SP3.orig/drivers/md/md.c
+++ linux-3.0-SLE11-SP3/drivers/md/md.c
@@ -32,7 +34,7 @@ Signed-off-by: NeilBrown <neilb@suse.de>
--- linux-3.0-SLE11-SP3.orig/drivers/md/raid1.c
+++ linux-3.0-SLE11-SP3/drivers/md/raid1.c
-@@ -1537,8 +1537,7 @@ static void raid1d(mddev_t *mddev)
+@@ -1675,8 +1675,7 @@ static void raid1d(mddev_t *mddev)
for (;;) {
char b[BDEVNAME_SIZE];
@@ -42,3 +44,37 @@ Signed-off-by: NeilBrown <neilb@suse.de>
spin_lock_irqsave(&conf->device_lock, flags);
if (list_empty(head)) {
+--- linux-3.0-SLE11-SP3.orig/drivers/md/raid10.c
++++ linux-3.0-SLE11-SP3/drivers/md/raid10.c
+@@ -2005,8 +2005,7 @@ static void raid10d(mddev_t *mddev)
+ for (;;) {
+ char b[BDEVNAME_SIZE];
+
+- if (atomic_read(&mddev->plug_cnt) == 0)
+- flush_pending_writes(conf);
++ flush_pending_writes(conf);
+
+ spin_lock_irqsave(&conf->device_lock, flags);
+ if (list_empty(head)) {
+--- linux-3.0-SLE11-SP3.orig/drivers/md/raid5.c
++++ linux-3.0-SLE11-SP3/drivers/md/raid5.c
+@@ -4501,8 +4501,7 @@ static void raid5d(mddev_t *mddev)
+ while (1) {
+ struct bio *bio;
+
+- if (atomic_read(&mddev->plug_cnt) == 0 &&
+- !list_empty(&conf->bitmap_list)) {
++ if (!list_empty(&conf->bitmap_list)) {
+ /* Now is a good time to flush some bitmap updates */
+ conf->seq_flush++;
+ spin_unlock_irq(&conf->device_lock);
+@@ -4511,8 +4510,7 @@ static void raid5d(mddev_t *mddev)
+ conf->seq_write = conf->seq_flush;
+ activate_bit_delay(conf);
+ }
+- if (atomic_read(&mddev->plug_cnt) == 0)
+- raid5_activate_delayed(conf);
++ raid5_activate_delayed(conf);
+
+ while ((bio = remove_bio_from_retry(conf))) {
+ int ok;
diff --git a/patches.fixes/fs-pipe.c-add-statfs-callback-for-pipefs.patch b/patches.fixes/fs-pipe.c-add-statfs-callback-for-pipefs.patch
new file mode 100644
index 0000000000..16fbf73be4
--- /dev/null
+++ b/patches.fixes/fs-pipe.c-add-statfs-callback-for-pipefs.patch
@@ -0,0 +1,42 @@
+From: Pavel Emelyanov <xemul@parallels.com>
+Date: Mon, 31 Oct 2011 17:10:04 -0700
+Subject: fs/pipe.c: add ->statfs callback for pipefs
+Git-commit: d70ef97baf048412c395bb5d65791d8fe133a52b
+Patch-mainline: v3.2-rc1
+References: bsc#916848
+
+Currently a statfs on a pipe's /proc/<pid>/fd/ link returns -ENOSYS. Wire
+pipfs up so that the statfs succeeds.
+
+This is required by checkpoint-restart in the userspace to make it
+possible to distinguish pipes from fifos.
+
+When we dump information about task's open files we use the /proc/pid/fd
+directoy's symlinks and the fact that opening any of them gives us exactly
+the same dentry->inode pair as the original process has. Now if a task
+we're dumping has opened pipe and fifo we need to detect this and act
+accordingly. Knowing that an fd with type S_ISFIFO resides on a pipefs is
+the most precise way.
+
+Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
+Reviewed-by: Tejun Heo <tj@kernel.org>
+Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
+Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
+Cc: Al Viro <viro@ZenIV.linux.org.uk>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Acked-by: Miklos Szeredi <mszeredi@suse.cz>
+---
+ fs/pipe.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/fs/pipe.c
++++ b/fs/pipe.c
+@@ -1287,6 +1287,7 @@ long pipe_fcntl(struct file *file, unsig
+
+ static const struct super_operations pipefs_ops = {
+ .destroy_inode = free_inode_nonrcu,
++ .statfs = simple_statfs,
+ };
+
+ /*
diff --git a/series.conf b/series.conf
index 9fe6263ce5..27bfd4a4f9 100644
--- a/series.conf
+++ b/series.conf
@@ -1843,6 +1843,8 @@
patches.suse/fuse-0067-fuse-trust-kernel-i_ctime-only.patch
patches.suse/fuse-0068-fuse-clear-FUSE_I_CTIME_DIRTY-flag-on-setattr.patch
+ patches.fixes/fs-pipe.c-add-statfs-callback-for-pipefs.patch
+
########################################################
# IPC patches
########################################################