lkml.org 
[lkml]   [2007]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[RFC 27/28] Add a struct vfsmount parameter to vfs_removexattr()
    Add a struct vfsmount parameter to vfs_removexattr()

    Signed-off-by: Tony Jones <tonyj@suse.de>
    Signed-off-by: Andreas Gruenbacher <agruen@suse.de>

    Index: linux-2.6/fs/nfsd/vfs.c
    ===================================================================
    --- linux-2.6.orig/fs/nfsd/vfs.c
    +++ linux-2.6/fs/nfsd/vfs.c
    @@ -1974,7 +1974,7 @@ nfsd_set_posix_acl(struct svc_fh *fhp, i
    if (!S_ISDIR(inode->i_mode) && type == ACL_TYPE_DEFAULT)
    error = 0;
    else {
    - error = vfs_removexattr(fhp->fh_dentry, name);
    + error = vfs_removexattr(fhp->fh_dentry, NULL, name);
    if (error == -ENODATA)
    error = 0;
    }
    Index: linux-2.6/fs/xattr.c
    ===================================================================
    --- linux-2.6.orig/fs/xattr.c
    +++ linux-2.6/fs/xattr.c
    @@ -166,7 +166,7 @@ vfs_listxattr(struct dentry *dentry, str
    EXPORT_SYMBOL_GPL(vfs_listxattr);

    int
    -vfs_removexattr(struct dentry *dentry, char *name)
    +vfs_removexattr(struct dentry *dentry, struct vfsmount *mnt, char *name)
    {
    struct inode *inode = dentry->d_inode;
    int error;
    @@ -437,7 +437,7 @@ sys_flistxattr(int fd, char __user *list
    * Extended attribute REMOVE operations
    */
    static long
    -removexattr(struct dentry *d, char __user *name)
    +removexattr(struct dentry *dentry, struct vfsmount *mnt, char __user *name)
    {
    int error;
    char kname[XATTR_NAME_MAX + 1];
    @@ -448,7 +448,7 @@ removexattr(struct dentry *d, char __use
    if (error < 0)
    return error;

    - return vfs_removexattr(d, kname);
    + return vfs_removexattr(dentry, mnt, kname);
    }

    asmlinkage long
    @@ -460,7 +460,7 @@ sys_removexattr(char __user *path, char
    error = user_path_walk(path, &nd);
    if (error)
    return error;
    - error = removexattr(nd.dentry, name);
    + error = removexattr(nd.dentry, nd.mnt, name);
    path_release(&nd);
    return error;
    }
    @@ -474,7 +474,7 @@ sys_lremovexattr(char __user *path, char
    error = user_path_walk_link(path, &nd);
    if (error)
    return error;
    - error = removexattr(nd.dentry, name);
    + error = removexattr(nd.dentry, nd.mnt, name);
    path_release(&nd);
    return error;
    }
    @@ -491,7 +491,7 @@ sys_fremovexattr(int fd, char __user *na
    return error;
    dentry = f->f_path.dentry;
    audit_inode(NULL, dentry->d_inode);
    - error = removexattr(dentry, name);
    + error = removexattr(dentry, f->f_path.mnt, name);
    fput(f);
    return error;
    }
    Index: linux-2.6/include/linux/xattr.h
    ===================================================================
    --- linux-2.6.orig/include/linux/xattr.h
    +++ linux-2.6/include/linux/xattr.h
    @@ -46,7 +46,7 @@ ssize_t vfs_listxattr(struct dentry *d,
    size_t size);
    int vfs_setxattr(struct dentry *, struct vfsmount *, char *, void *, size_t,
    int);
    -int vfs_removexattr(struct dentry *, char *);
    +int vfs_removexattr(struct dentry *, struct vfsmount *, char *);

    ssize_t generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size);
    ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size);
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-02-05 19:33    [W:4.553 / U:0.512 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site