diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2021-08-18 23:08:24 +0300 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2021-08-18 23:08:24 +0300 |
commit | 332f606b32b6291a944c8cf23b91f53a6e676525 (patch) | |
tree | c3a46cae0901eec40dd900a9a64c8ad1e51647ba /fs/ext2/acl.h | |
parent | 0cad6246621b5887d5b33fea84219d2a71f2f99a (diff) | |
download | linux-332f606b32b6291a944c8cf23b91f53a6e676525.tar.xz |
ovl: enable RCU'd ->get_acl()
Overlayfs does not cache ACL's (to avoid double caching). Instead it just
calls the underlying filesystem's i_op->get_acl(), which will return the
cached value, if possible.
In rcu path walk, however, get_cached_acl_rcu() is employed to get the
value from the cache, which will fail on overlayfs resulting in dropping
out of rcu walk mode. This can result in a big performance hit in certain
situations.
Fix by calling ->get_acl() with rcu=true in case of ACL_DONT_CACHE (which
indicates pass-through)
Reported-by: garyhuang <zjh.20052005@163.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/ext2/acl.h')
0 files changed, 0 insertions, 0 deletions