aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2016-09-06 21:32:47 +0200
committerRafał Miłecki <rafal@milecki.pl>2016-09-06 21:37:49 +0200
commit42f559ed70897a7b74dd3e6293b42e6d2e511eaa (patch)
tree93366019d5e01b991171766568430107b16d3728 /target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch
parent81dfbfb069c3c8f3e5499f55b02b1f320208707d (diff)
downloadupstream-42f559ed70897a7b74dd3e6293b42e6d2e511eaa.tar.gz
upstream-42f559ed70897a7b74dd3e6293b42e6d2e511eaa.tar.bz2
upstream-42f559ed70897a7b74dd3e6293b42e6d2e511eaa.zip
kernel: backport upstream overlayfs fixes
First two patches weren't marked for stable but are dependencies for laters ones. The rest of patches was marked for stable but most likely will be backported to 4.5+ only so we need to get them on our own. An important fix is eea2fb4851e9d ("ovl: proper cleanup of workdir") as it allows mounting overlayfs with dirty workdir, e.g. after power cut. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch')
-rw-r--r--target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch b/target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch
new file mode 100644
index 0000000000..1f50170bfc
--- /dev/null
+++ b/target/linux/generic/patches-4.4/051-0007-ovl-fix-workdir-creation.patch
@@ -0,0 +1,35 @@
+From e1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c Mon Sep 17 00:00:00 2001
+From: Miklos Szeredi <mszeredi@redhat.com>
+Date: Mon, 5 Sep 2016 13:55:20 +0200
+Subject: [PATCH] ovl: fix workdir creation
+
+Workdir creation fails in latest kernel.
+
+Fix by allowing EOPNOTSUPP as a valid return value from
+vfs_removexattr(XATTR_NAME_POSIX_ACL_*). Upper filesystem may not support
+ACL and still be perfectly able to support overlayfs.
+
+Reported-by: Martin Ziegler <ziegler@uni-freiburg.de>
+Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
+Fixes: c11b9fdd6a61 ("ovl: remove posix_acl_default from workdir")
+Cc: <stable@vger.kernel.org>
+---
+ fs/overlayfs/super.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/fs/overlayfs/super.c
++++ b/fs/overlayfs/super.c
+@@ -794,11 +794,11 @@ retry:
+ goto out_dput;
+
+ err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT);
+- if (err && err != -ENODATA)
++ if (err && err != -ENODATA && err != -EOPNOTSUPP)
+ goto out_dput;
+
+ err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_ACCESS);
+- if (err && err != -ENODATA)
++ if (err && err != -ENODATA && err != -EOPNOTSUPP)
+ goto out_dput;
+
+ /* Clear any inherited mode bits */