Loading Documentation/filesystems/porting +6 −0 Original line number Diff line number Diff line Loading @@ -525,3 +525,9 @@ in your dentry operations instead. set_delayed_call() where it used to set *cookie. ->put_link() is gone - just give the destructor to set_delayed_call() in ->get_link(). -- [mandatory] ->getxattr() and xattr_handler.get() get dentry and inode passed separately. dentry might be yet to be attached to inode, so do _not_ use its ->d_inode in the instances. Rationale: !@#!@# security_d_instantiate() needs to be called before we attach dentry to inode. drivers/staging/lustre/lustre/llite/llite_internal.h +2 −2 Original line number Diff line number Diff line Loading @@ -1042,8 +1042,8 @@ static inline __u64 ll_file_maxbytes(struct inode *inode) /* llite/xattr.c */ int ll_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags); ssize_t ll_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size); ssize_t ll_getxattr(struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size); ssize_t ll_listxattr(struct dentry *dentry, char *buffer, size_t size); int ll_removexattr(struct dentry *dentry, const char *name); Loading drivers/staging/lustre/lustre/llite/xattr.c +2 −4 Original line number Diff line number Diff line Loading @@ -451,11 +451,9 @@ int ll_getxattr_common(struct inode *inode, const char *name, return rc; } ssize_t ll_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size) ssize_t ll_getxattr(struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) { struct inode *inode = d_inode(dentry); LASSERT(inode); LASSERT(name); Loading fs/9p/acl.c +4 −4 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ static struct posix_acl *v9fs_get_cached_acl(struct inode *inode, int type) * instantiating the inode (v9fs_inode_from_fid) */ acl = get_cached_acl(inode, type); BUG_ON(acl == ACL_NOT_CACHED); BUG_ON(is_uncached_acl(acl)); return acl; } Loading Loading @@ -213,8 +213,8 @@ int v9fs_acl_mode(struct inode *dir, umode_t *modep, } static int v9fs_xattr_get_acl(const struct xattr_handler *handler, struct dentry *dentry, const char *name, void *buffer, size_t size) struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) { struct v9fs_session_info *v9ses; struct posix_acl *acl; Loading @@ -227,7 +227,7 @@ static int v9fs_xattr_get_acl(const struct xattr_handler *handler, if ((v9ses->flags & V9FS_ACCESS_MASK) != V9FS_ACCESS_CLIENT) return v9fs_xattr_get(dentry, handler->name, buffer, size); acl = v9fs_get_cached_acl(d_inode(dentry), handler->flags); acl = v9fs_get_cached_acl(inode, handler->flags); if (IS_ERR(acl)) return PTR_ERR(acl); if (acl == NULL) Loading fs/9p/vfs_inode.c +1 −1 Original line number Diff line number Diff line Loading @@ -1071,7 +1071,7 @@ v9fs_vfs_getattr(struct vfsmount *mnt, struct dentry *dentry, if (IS_ERR(st)) return PTR_ERR(st); v9fs_stat2inode(st, d_inode(dentry), d_inode(dentry)->i_sb); v9fs_stat2inode(st, d_inode(dentry), dentry->d_sb); generic_fillattr(d_inode(dentry), stat); p9stat_free(st); Loading Loading
Documentation/filesystems/porting +6 −0 Original line number Diff line number Diff line Loading @@ -525,3 +525,9 @@ in your dentry operations instead. set_delayed_call() where it used to set *cookie. ->put_link() is gone - just give the destructor to set_delayed_call() in ->get_link(). -- [mandatory] ->getxattr() and xattr_handler.get() get dentry and inode passed separately. dentry might be yet to be attached to inode, so do _not_ use its ->d_inode in the instances. Rationale: !@#!@# security_d_instantiate() needs to be called before we attach dentry to inode.
drivers/staging/lustre/lustre/llite/llite_internal.h +2 −2 Original line number Diff line number Diff line Loading @@ -1042,8 +1042,8 @@ static inline __u64 ll_file_maxbytes(struct inode *inode) /* llite/xattr.c */ int ll_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags); ssize_t ll_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size); ssize_t ll_getxattr(struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size); ssize_t ll_listxattr(struct dentry *dentry, char *buffer, size_t size); int ll_removexattr(struct dentry *dentry, const char *name); Loading
drivers/staging/lustre/lustre/llite/xattr.c +2 −4 Original line number Diff line number Diff line Loading @@ -451,11 +451,9 @@ int ll_getxattr_common(struct inode *inode, const char *name, return rc; } ssize_t ll_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size) ssize_t ll_getxattr(struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) { struct inode *inode = d_inode(dentry); LASSERT(inode); LASSERT(name); Loading
fs/9p/acl.c +4 −4 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ static struct posix_acl *v9fs_get_cached_acl(struct inode *inode, int type) * instantiating the inode (v9fs_inode_from_fid) */ acl = get_cached_acl(inode, type); BUG_ON(acl == ACL_NOT_CACHED); BUG_ON(is_uncached_acl(acl)); return acl; } Loading Loading @@ -213,8 +213,8 @@ int v9fs_acl_mode(struct inode *dir, umode_t *modep, } static int v9fs_xattr_get_acl(const struct xattr_handler *handler, struct dentry *dentry, const char *name, void *buffer, size_t size) struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) { struct v9fs_session_info *v9ses; struct posix_acl *acl; Loading @@ -227,7 +227,7 @@ static int v9fs_xattr_get_acl(const struct xattr_handler *handler, if ((v9ses->flags & V9FS_ACCESS_MASK) != V9FS_ACCESS_CLIENT) return v9fs_xattr_get(dentry, handler->name, buffer, size); acl = v9fs_get_cached_acl(d_inode(dentry), handler->flags); acl = v9fs_get_cached_acl(inode, handler->flags); if (IS_ERR(acl)) return PTR_ERR(acl); if (acl == NULL) Loading
fs/9p/vfs_inode.c +1 −1 Original line number Diff line number Diff line Loading @@ -1071,7 +1071,7 @@ v9fs_vfs_getattr(struct vfsmount *mnt, struct dentry *dentry, if (IS_ERR(st)) return PTR_ERR(st); v9fs_stat2inode(st, d_inode(dentry), d_inode(dentry)->i_sb); v9fs_stat2inode(st, d_inode(dentry), dentry->d_sb); generic_fillattr(d_inode(dentry), stat); p9stat_free(st); Loading