Re: [PATCH v2 1/8] fs: don't use IOP_XATTR for posix acls
Christoph Hellwig <[email protected]>
| Newsgroups | gmane.linux.file-systems,gmane.comp.file-systems.reiserfs.general |
|---|---|
| Message-ID | <[email protected]> |
Sorry for not keeping up with your flow of ideas, so chiming in now:
> diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
> index c7d1fa526dea..e293eaaed185 100644
> --- a/fs/reiserfs/inode.c
> +++ b/fs/reiserfs/inode.c
> @@ -2090,6 +2090,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
> if (IS_PRIVATE(dir) || dentry == REISERFS_SB(sb)->priv_root) {
> inode->i_flags |= S_PRIVATE;
> inode->i_opflags &= ~IOP_XATTR;
> + inode->i_op = &reiserfs_privdir_inode_operations;
I wonder if there is any way to set this where reiserfs assigns
the other ops.
> +const struct inode_operations reiserfs_privdir_inode_operations = {
> + .create = reiserfs_create,
> + .lookup = reiserfs_lookup,
> + .link = reiserfs_link,
> + .unlink = reiserfs_unlink,
> + .symlink = reiserfs_symlink,
> + .mkdir = reiserfs_mkdir,
> + .rmdir = reiserfs_rmdir,
> + .mknod = reiserfs_mknod,
> + .rename = reiserfs_rename,
> + .setattr = reiserfs_setattr,
> + .permission = reiserfs_permission,
> + .fileattr_get = reiserfs_fileattr_get,
> + .fileattr_set = reiserfs_fileattr_set,
> +};
I suspect many other ops aren't need either, but I really need input
from people that known reiserfs better.
> + if (likely(!is_bad_inode(inode)))
> error = set_posix_acl(mnt_userns, dentry, acl_type, kacl);
> else
> + error = -EIO;
I wonder if the is_bad_inode check should simplify move into
get/set_posix_acl. But otherwise this patch looks good.