diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2016-09-05 13:55:20 +0200 |
---|---|---|
committer | Sasha Levin <alexander.levin@verizon.com> | 2016-10-02 19:12:05 -0400 |
commit | 12c68a9c1eed60b8acd716ec248b3ff9877f003f (patch) | |
tree | 3cac8ca1afa073ecd736144d9f7d9fae20a53e1e | |
parent | 8af2ce0777ab7f143f6513c8de9e4c3a258f5085 (diff) | |
download | lwn-12c68a9c1eed60b8acd716ec248b3ff9877f003f.tar.gz lwn-12c68a9c1eed60b8acd716ec248b3ff9877f003f.zip |
ovl: fix workdir creation
[ Upstream commit e1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c ]
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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
-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 c9b740111526..f60b2c745d02 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -679,11 +679,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 */ |