Hi Linus, Please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git tags/ovl-update-5.8 There are some changes outside of the overlayfs tree; clone_private_mount() was reviewed by Al, the rest are trivial. No other filesystems are affected by these. Fixes: - Resolve mount option conflicts consistently. - Sync before remount R/O. - Fix file handle encoding corner cases. - Fix metacopy related issues. - Fix an unintialized return value. - Add missing permission checks for underlying layers. Optimizations: - Allow multipe whiteouts to share an inode. - Optimize small writes by inheriting SB_NOSEC from upper layer. - Do not call ->syncfs() multiple times for sync(2). - Do not cache negative lookups on upper layer. - Make private internal mounts longterm. Thanks, Miklos --- Amir Goldstein (5): ovl: resolve more conflicting mount options ovl: cleanup non-empty directories in ovl_indexdir_cleanup() ovl: prepare to copy up without workdir ovl: index dir act as work dir ovl: fix out of bounds access warning in ovl_check_fb_len() Chengguang Xu (3): ovl: whiteout inode sharing ovl: sync dirty data when remounting to ro mode ovl: drop negative dentry in upper layer Jeffle Xu (1): ovl: inherit SB_NOSEC flag from upperdir Konstantin Khlebnikov (1): ovl: skip overlayfs superblocks at global sync Lubos Dolezel (1): ovl: return required buffer size for file handles Miklos Szeredi (10): ovl: pass correct flags for opening real directory ovl: switch to mounter creds in readdir ovl: verify permissions in ovl_path_open() ovl: call secutiry hook in ovl_real_ioctl() ovl: check permission to open real file ovl: add accessor for ofs->upper_mnt ovl: get rid of redundant members in struct ovl_fs ovl: make private mounts longterm ovl: only pass ->ki_flags to ovl_iocb_to_rwf() ovl: make oip->index bool Vivek Goyal (4): ovl: simplify setting of origin for index lookup ovl: use only uppermetacopy state in ovl_lookup() ovl: initialize OVL_UPPERDATA in ovl_lookup() ovl: fix redirect traversal on metacopy dentries Yuxuan Shui (1): ovl: initialize error in ovl_copy_xattr youngjun (1): ovl: remove unnecessary lock check --- Documentation/filesystems/overlayfs.rst | 7 +- Documentation/filesystems/porting.rst | 7 + fs/namespace.c | 16 +++ fs/overlayfs/copy_up.c | 9 +- fs/overlayfs/dir.c | 51 +++++-- fs/overlayfs/export.c | 24 ++-- fs/overlayfs/file.c | 28 +++- fs/overlayfs/inode.c | 17 +-- fs/overlayfs/namei.c | 138 ++++++++++-------- fs/overlayfs/overlayfs.h | 11 +- fs/overlayfs/ovl_entry.h | 10 +- fs/overlayfs/readdir.c | 57 ++++++-- fs/overlayfs/super.c | 243 +++++++++++++++++++++----------- fs/overlayfs/util.c | 36 ++++- fs/sync.c | 3 +- include/linux/fs.h | 2 + include/linux/mount.h | 2 + security/security.c | 1 + 18 files changed, 440 insertions(+), 222 deletions(-)