diff options
Diffstat (limited to 'debian/patches-rt/0278-revert-aio.patch')
-rw-r--r-- | debian/patches-rt/0278-revert-aio.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/debian/patches-rt/0278-revert-aio.patch b/debian/patches-rt/0278-revert-aio.patch new file mode 100644 index 000000000..6cca2777c --- /dev/null +++ b/debian/patches-rt/0278-revert-aio.patch @@ -0,0 +1,67 @@ +From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> +Date: Fri, 20 Sep 2019 17:50:53 -0400 +Subject: [PATCH 278/342] revert-aio +Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3385a4e70adb04e8ac905d0b889452f53b8348cd + +revert: fs/aio: simple simple work + +Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> +--- + fs/aio.c | 15 ++------------- + 1 file changed, 2 insertions(+), 13 deletions(-) + +diff --git a/fs/aio.c b/fs/aio.c +index 21eacb0f3f56..9635c29b83da 100644 +--- a/fs/aio.c ++++ b/fs/aio.c +@@ -42,7 +42,6 @@ + #include <linux/ramfs.h> + #include <linux/percpu-refcount.h> + #include <linux/mount.h> +-#include <linux/swork.h> + + #include <asm/kmap_types.h> + #include <linux/uaccess.h> +@@ -122,7 +121,6 @@ struct kioctx { + long nr_pages; + + struct rcu_work free_rwork; /* see free_ioctx() */ +- struct swork_event free_swork; /* see free_ioctx() */ + + /* + * signals when all in-flight requests are done +@@ -269,7 +267,6 @@ static int __init aio_setup(void) + .mount = aio_mount, + .kill_sb = kill_anon_super, + }; +- BUG_ON(swork_get()); + aio_mnt = kern_mount(&aio_fs); + if (IS_ERR(aio_mnt)) + panic("Failed to create aio fs mount."); +@@ -611,9 +608,9 @@ static void free_ioctx_reqs(struct percpu_ref *ref) + * and ctx->users has dropped to 0, so we know no more kiocbs can be submitted - + * now it's safe to cancel any that need to be. + */ +-static void free_ioctx_users_work(struct swork_event *sev) ++static void free_ioctx_users(struct percpu_ref *ref) + { +- struct kioctx *ctx = container_of(sev, struct kioctx, free_swork); ++ struct kioctx *ctx = container_of(ref, struct kioctx, users); + struct aio_kiocb *req; + + spin_lock_irq(&ctx->ctx_lock); +@@ -631,14 +628,6 @@ static void free_ioctx_users_work(struct swork_event *sev) + percpu_ref_put(&ctx->reqs); + } + +-static void free_ioctx_users(struct percpu_ref *ref) +-{ +- struct kioctx *ctx = container_of(ref, struct kioctx, users); +- +- INIT_SWORK(&ctx->free_swork, free_ioctx_users_work); +- swork_queue(&ctx->free_swork); +-} +- + static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) + { + unsigned i, new_nr; |