Loading fs/nfs/idmap.c +1 −2 Original line number Diff line number Diff line Loading @@ -130,9 +130,8 @@ nfs_idmap_delete(struct nfs4_client *clp) if (!idmap) return; rpc_unlink(idmap->idmap_dentry); dput(idmap->idmap_dentry); idmap->idmap_dentry = NULL; rpc_unlink(idmap->idmap_path); clp->cl_idmap = NULL; kfree(idmap); } Loading include/linux/sunrpc/rpc_pipe_fs.h +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ extern int rpc_queue_upcall(struct inode *, struct rpc_pipe_msg *); extern struct dentry *rpc_mkdir(char *, struct rpc_clnt *); extern int rpc_rmdir(char *); extern struct dentry *rpc_mkpipe(char *, void *, struct rpc_pipe_ops *, int flags); extern int rpc_unlink(char *); extern int rpc_unlink(struct dentry *); extern struct vfsmount *rpc_get_mount(void); extern void rpc_put_mount(void); Loading net/sunrpc/auth_gss/auth_gss.c +1 −1 Original line number Diff line number Diff line Loading @@ -718,7 +718,7 @@ gss_destroy(struct rpc_auth *auth) auth, auth->au_flavor); gss_auth = container_of(auth, struct gss_auth, rpc_auth); rpc_unlink(gss_auth->path); rpc_unlink(gss_auth->dentry); dput(gss_auth->dentry); gss_auth->dentry = NULL; gss_mech_put(gss_auth->mech); Loading net/sunrpc/rpc_pipe.c +6 −14 Original line number Diff line number Diff line Loading @@ -746,22 +746,15 @@ rpc_mkpipe(char *path, void *private, struct rpc_pipe_ops *ops, int flags) } int rpc_unlink(char *path) rpc_unlink(struct dentry *dentry) { struct nameidata nd; struct dentry *dentry; struct dentry *parent; struct inode *dir; int error; int error = 0; if ((error = rpc_lookup_parent(path, &nd)) != 0) return error; dir = nd.dentry->d_inode; parent = dget_parent(dentry); dir = parent->d_inode; mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT); dentry = lookup_one_len(nd.last.name, nd.dentry, nd.last.len); if (IS_ERR(dentry)) { error = PTR_ERR(dentry); goto out_release; } d_drop(dentry); if (dentry->d_inode) { rpc_close_pipes(dentry->d_inode); Loading @@ -769,9 +762,8 @@ rpc_unlink(char *path) } dput(dentry); inode_dir_notify(dir, DN_DELETE); out_release: mutex_unlock(&dir->i_mutex); rpc_release_path(&nd); dput(parent); return error; } Loading Loading
fs/nfs/idmap.c +1 −2 Original line number Diff line number Diff line Loading @@ -130,9 +130,8 @@ nfs_idmap_delete(struct nfs4_client *clp) if (!idmap) return; rpc_unlink(idmap->idmap_dentry); dput(idmap->idmap_dentry); idmap->idmap_dentry = NULL; rpc_unlink(idmap->idmap_path); clp->cl_idmap = NULL; kfree(idmap); } Loading
include/linux/sunrpc/rpc_pipe_fs.h +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ extern int rpc_queue_upcall(struct inode *, struct rpc_pipe_msg *); extern struct dentry *rpc_mkdir(char *, struct rpc_clnt *); extern int rpc_rmdir(char *); extern struct dentry *rpc_mkpipe(char *, void *, struct rpc_pipe_ops *, int flags); extern int rpc_unlink(char *); extern int rpc_unlink(struct dentry *); extern struct vfsmount *rpc_get_mount(void); extern void rpc_put_mount(void); Loading
net/sunrpc/auth_gss/auth_gss.c +1 −1 Original line number Diff line number Diff line Loading @@ -718,7 +718,7 @@ gss_destroy(struct rpc_auth *auth) auth, auth->au_flavor); gss_auth = container_of(auth, struct gss_auth, rpc_auth); rpc_unlink(gss_auth->path); rpc_unlink(gss_auth->dentry); dput(gss_auth->dentry); gss_auth->dentry = NULL; gss_mech_put(gss_auth->mech); Loading
net/sunrpc/rpc_pipe.c +6 −14 Original line number Diff line number Diff line Loading @@ -746,22 +746,15 @@ rpc_mkpipe(char *path, void *private, struct rpc_pipe_ops *ops, int flags) } int rpc_unlink(char *path) rpc_unlink(struct dentry *dentry) { struct nameidata nd; struct dentry *dentry; struct dentry *parent; struct inode *dir; int error; int error = 0; if ((error = rpc_lookup_parent(path, &nd)) != 0) return error; dir = nd.dentry->d_inode; parent = dget_parent(dentry); dir = parent->d_inode; mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT); dentry = lookup_one_len(nd.last.name, nd.dentry, nd.last.len); if (IS_ERR(dentry)) { error = PTR_ERR(dentry); goto out_release; } d_drop(dentry); if (dentry->d_inode) { rpc_close_pipes(dentry->d_inode); Loading @@ -769,9 +762,8 @@ rpc_unlink(char *path) } dput(dentry); inode_dir_notify(dir, DN_DELETE); out_release: mutex_unlock(&dir->i_mutex); rpc_release_path(&nd); dput(parent); return error; } Loading