]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ovl: fix workdir creation
authorMiklos Szeredi <mszeredi@redhat.com>
Mon, 5 Sep 2016 11:55:20 +0000 (13:55 +0200)
committerShan Hai <shan.hai@oracle.com>
Fri, 4 Aug 2017 05:56:32 +0000 (13:56 +0800)
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>
Orabug: 26401569

(backport upstream commit e1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c)

Signed-off-by: Shan Hai <shan.hai@oracle.com>
Reviewed-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
fs/overlayfs/super.c

index 5fdfc7471fd7d184483ca432f7b82409b2763e7d..a12878234a8135b26f06f5731dfceb5c03a7ce7d 100644 (file)
@@ -722,11 +722,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 */