diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2016-09-05 07:55:20 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2016-09-05 07:55:20 -0400 |
commit | e1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c (patch) | |
tree | 6de48b08f6b834e15b209520b86fc7da8f76bfad /fs | |
parent | 026e5e0cc12474495515275d9c176ef823238c70 (diff) |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/overlayfs/super.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index a4585f961bf9..e2a94a26767b 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c | |||
@@ -835,11 +835,11 @@ retry: | |||
835 | goto out_dput; | 835 | goto out_dput; |
836 | 836 | ||
837 | err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT); | 837 | err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT); |
838 | if (err && err != -ENODATA) | 838 | if (err && err != -ENODATA && err != -EOPNOTSUPP) |
839 | goto out_dput; | 839 | goto out_dput; |
840 | 840 | ||
841 | err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_ACCESS); | 841 | err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_ACCESS); |
842 | if (err && err != -ENODATA) | 842 | if (err && err != -ENODATA && err != -EOPNOTSUPP) |
843 | goto out_dput; | 843 | goto out_dput; |
844 | 844 | ||
845 | /* Clear any inherited mode bits */ | 845 | /* Clear any inherited mode bits */ |