Loading Documentation/filesystems/overlayfs.rst +0 −4 Original line number Original line Diff line number Diff line Loading @@ -466,10 +466,6 @@ overlay filesystem and the value of st_ino for filesystem objects may not be persistent and could change even while the overlay filesystem is mounted, as persistent and could change even while the overlay filesystem is mounted, as summarized in the `Inode properties`_ table above. summarized in the `Inode properties`_ table above. 4) "idmapped mounts" When the upper or lower layers are idmapped mounts overlayfs will be mounted without support for POSIX Access Control Lists (ACLs). This limitation will eventually be lifted. Changes to underlying filesystems Changes to underlying filesystems --------------------------------- --------------------------------- Loading fs/overlayfs/super.c +1 −24 Original line number Original line Diff line number Diff line Loading @@ -1003,9 +1003,6 @@ ovl_posix_acl_xattr_get(const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) const char *name, void *buffer, size_t size) { { if (!IS_POSIXACL(inode)) return -EOPNOTSUPP; return ovl_xattr_get(dentry, inode, handler->name, buffer, size); return ovl_xattr_get(dentry, inode, handler->name, buffer, size); } } Loading @@ -1021,9 +1018,6 @@ ovl_posix_acl_xattr_set(const struct xattr_handler *handler, struct posix_acl *acl = NULL; struct posix_acl *acl = NULL; int err; int err; if (!IS_POSIXACL(inode)) return -EOPNOTSUPP; /* Check that everything is OK before copy-up */ /* Check that everything is OK before copy-up */ if (value) { if (value) { acl = posix_acl_from_xattr(&init_user_ns, value, size); acl = posix_acl_from_xattr(&init_user_ns, value, size); Loading Loading @@ -1966,20 +1960,6 @@ static struct dentry *ovl_get_root(struct super_block *sb, return root; return root; } } static bool ovl_has_idmapped_layers(struct ovl_fs *ofs) { unsigned int i; const struct vfsmount *mnt; for (i = 0; i < ofs->numlayer; i++) { mnt = ofs->layers[i].mnt; if (mnt && is_idmapped_mnt(mnt)) return true; } return false; } static int ovl_fill_super(struct super_block *sb, void *data, int silent) static int ovl_fill_super(struct super_block *sb, void *data, int silent) { { struct path upperpath = { }; struct path upperpath = { }; Loading Loading @@ -2149,9 +2129,6 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) sb->s_xattr = ofs->config.userxattr ? ovl_user_xattr_handlers : sb->s_xattr = ofs->config.userxattr ? ovl_user_xattr_handlers : ovl_trusted_xattr_handlers; ovl_trusted_xattr_handlers; sb->s_fs_info = ofs; sb->s_fs_info = ofs; if (ovl_has_idmapped_layers(ofs)) pr_warn("POSIX ACLs are not yet supported with idmapped layers, mounting without ACL support.\n"); else sb->s_flags |= SB_POSIXACL; sb->s_flags |= SB_POSIXACL; sb->s_iflags |= SB_I_SKIP_SYNC; sb->s_iflags |= SB_I_SKIP_SYNC; Loading Loading
Documentation/filesystems/overlayfs.rst +0 −4 Original line number Original line Diff line number Diff line Loading @@ -466,10 +466,6 @@ overlay filesystem and the value of st_ino for filesystem objects may not be persistent and could change even while the overlay filesystem is mounted, as persistent and could change even while the overlay filesystem is mounted, as summarized in the `Inode properties`_ table above. summarized in the `Inode properties`_ table above. 4) "idmapped mounts" When the upper or lower layers are idmapped mounts overlayfs will be mounted without support for POSIX Access Control Lists (ACLs). This limitation will eventually be lifted. Changes to underlying filesystems Changes to underlying filesystems --------------------------------- --------------------------------- Loading
fs/overlayfs/super.c +1 −24 Original line number Original line Diff line number Diff line Loading @@ -1003,9 +1003,6 @@ ovl_posix_acl_xattr_get(const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) const char *name, void *buffer, size_t size) { { if (!IS_POSIXACL(inode)) return -EOPNOTSUPP; return ovl_xattr_get(dentry, inode, handler->name, buffer, size); return ovl_xattr_get(dentry, inode, handler->name, buffer, size); } } Loading @@ -1021,9 +1018,6 @@ ovl_posix_acl_xattr_set(const struct xattr_handler *handler, struct posix_acl *acl = NULL; struct posix_acl *acl = NULL; int err; int err; if (!IS_POSIXACL(inode)) return -EOPNOTSUPP; /* Check that everything is OK before copy-up */ /* Check that everything is OK before copy-up */ if (value) { if (value) { acl = posix_acl_from_xattr(&init_user_ns, value, size); acl = posix_acl_from_xattr(&init_user_ns, value, size); Loading Loading @@ -1966,20 +1960,6 @@ static struct dentry *ovl_get_root(struct super_block *sb, return root; return root; } } static bool ovl_has_idmapped_layers(struct ovl_fs *ofs) { unsigned int i; const struct vfsmount *mnt; for (i = 0; i < ofs->numlayer; i++) { mnt = ofs->layers[i].mnt; if (mnt && is_idmapped_mnt(mnt)) return true; } return false; } static int ovl_fill_super(struct super_block *sb, void *data, int silent) static int ovl_fill_super(struct super_block *sb, void *data, int silent) { { struct path upperpath = { }; struct path upperpath = { }; Loading Loading @@ -2149,9 +2129,6 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) sb->s_xattr = ofs->config.userxattr ? ovl_user_xattr_handlers : sb->s_xattr = ofs->config.userxattr ? ovl_user_xattr_handlers : ovl_trusted_xattr_handlers; ovl_trusted_xattr_handlers; sb->s_fs_info = ofs; sb->s_fs_info = ofs; if (ovl_has_idmapped_layers(ofs)) pr_warn("POSIX ACLs are not yet supported with idmapped layers, mounting without ACL support.\n"); else sb->s_flags |= SB_POSIXACL; sb->s_flags |= SB_POSIXACL; sb->s_iflags |= SB_I_SKIP_SYNC; sb->s_iflags |= SB_I_SKIP_SYNC; Loading