Loading fs/nfs/nfs4proc.c +9 −17 Original line number Original line Diff line number Diff line Loading @@ -295,18 +295,6 @@ static void nfs4_opendata_free(struct nfs4_opendata *p) } } } } /* Helper for asynchronous RPC calls */ static int nfs4_call_async(struct rpc_clnt *clnt, const struct rpc_call_ops *tk_ops, void *calldata) { struct rpc_task *task; if (!(task = rpc_new_task(clnt, RPC_TASK_ASYNC, tk_ops, calldata))) return -ENOMEM; rpc_execute(task); return 0; } static int nfs4_wait_for_completion_rpc_task(struct rpc_task *task) static int nfs4_wait_for_completion_rpc_task(struct rpc_task *task) { { sigset_t oldset; sigset_t oldset; Loading Loading @@ -1218,6 +1206,8 @@ int nfs4_do_close(struct path *path, struct nfs4_state *state) { { struct nfs_server *server = NFS_SERVER(state->inode); struct nfs_server *server = NFS_SERVER(state->inode); struct nfs4_closedata *calldata; struct nfs4_closedata *calldata; struct nfs4_state_owner *sp = state->owner; struct rpc_task *task; int status = -ENOMEM; int status = -ENOMEM; calldata = kmalloc(sizeof(*calldata), GFP_KERNEL); calldata = kmalloc(sizeof(*calldata), GFP_KERNEL); Loading @@ -1237,14 +1227,16 @@ int nfs4_do_close(struct path *path, struct nfs4_state *state) calldata->path.mnt = mntget(path->mnt); calldata->path.mnt = mntget(path->mnt); calldata->path.dentry = dget(path->dentry); calldata->path.dentry = dget(path->dentry); status = nfs4_call_async(server->client, &nfs4_close_ops, calldata); task = rpc_run_task(server->client, RPC_TASK_ASYNC, &nfs4_close_ops, calldata); if (status == 0) if (IS_ERR(task)) goto out; return PTR_ERR(task); rpc_put_task(task); nfs_free_seqid(calldata->arg.seqid); return 0; out_free_calldata: out_free_calldata: kfree(calldata); kfree(calldata); out: out: nfs4_put_open_state(state); nfs4_put_state_owner(sp); return status; return status; } } Loading fs/nfs/nfs4state.c +5 −4 Original line number Original line Diff line number Diff line Loading @@ -375,10 +375,11 @@ void nfs4_close_state(struct path *path, struct nfs4_state *state, mode_t mode) spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock); spin_unlock(&owner->so_lock); spin_unlock(&owner->so_lock); if (oldstate != newstate && nfs4_do_close(path, state) == 0) if (oldstate == newstate) { return; nfs4_put_open_state(state); nfs4_put_open_state(state); nfs4_put_state_owner(owner); nfs4_put_state_owner(owner); } else nfs4_do_close(path, state); } } /* /* Loading net/sunrpc/sunrpc_syms.c +0 −1 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,6 @@ EXPORT_SYMBOL(rpc_wake_up_next); EXPORT_SYMBOL(rpc_wake_up_task); EXPORT_SYMBOL(rpc_wake_up_task); EXPORT_SYMBOL(rpciod_down); EXPORT_SYMBOL(rpciod_down); EXPORT_SYMBOL(rpciod_up); EXPORT_SYMBOL(rpciod_up); EXPORT_SYMBOL(rpc_new_task); EXPORT_SYMBOL(rpc_wake_up_status); EXPORT_SYMBOL(rpc_wake_up_status); /* RPC client functions */ /* RPC client functions */ Loading Loading
fs/nfs/nfs4proc.c +9 −17 Original line number Original line Diff line number Diff line Loading @@ -295,18 +295,6 @@ static void nfs4_opendata_free(struct nfs4_opendata *p) } } } } /* Helper for asynchronous RPC calls */ static int nfs4_call_async(struct rpc_clnt *clnt, const struct rpc_call_ops *tk_ops, void *calldata) { struct rpc_task *task; if (!(task = rpc_new_task(clnt, RPC_TASK_ASYNC, tk_ops, calldata))) return -ENOMEM; rpc_execute(task); return 0; } static int nfs4_wait_for_completion_rpc_task(struct rpc_task *task) static int nfs4_wait_for_completion_rpc_task(struct rpc_task *task) { { sigset_t oldset; sigset_t oldset; Loading Loading @@ -1218,6 +1206,8 @@ int nfs4_do_close(struct path *path, struct nfs4_state *state) { { struct nfs_server *server = NFS_SERVER(state->inode); struct nfs_server *server = NFS_SERVER(state->inode); struct nfs4_closedata *calldata; struct nfs4_closedata *calldata; struct nfs4_state_owner *sp = state->owner; struct rpc_task *task; int status = -ENOMEM; int status = -ENOMEM; calldata = kmalloc(sizeof(*calldata), GFP_KERNEL); calldata = kmalloc(sizeof(*calldata), GFP_KERNEL); Loading @@ -1237,14 +1227,16 @@ int nfs4_do_close(struct path *path, struct nfs4_state *state) calldata->path.mnt = mntget(path->mnt); calldata->path.mnt = mntget(path->mnt); calldata->path.dentry = dget(path->dentry); calldata->path.dentry = dget(path->dentry); status = nfs4_call_async(server->client, &nfs4_close_ops, calldata); task = rpc_run_task(server->client, RPC_TASK_ASYNC, &nfs4_close_ops, calldata); if (status == 0) if (IS_ERR(task)) goto out; return PTR_ERR(task); rpc_put_task(task); nfs_free_seqid(calldata->arg.seqid); return 0; out_free_calldata: out_free_calldata: kfree(calldata); kfree(calldata); out: out: nfs4_put_open_state(state); nfs4_put_state_owner(sp); return status; return status; } } Loading
fs/nfs/nfs4state.c +5 −4 Original line number Original line Diff line number Diff line Loading @@ -375,10 +375,11 @@ void nfs4_close_state(struct path *path, struct nfs4_state *state, mode_t mode) spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock); spin_unlock(&owner->so_lock); spin_unlock(&owner->so_lock); if (oldstate != newstate && nfs4_do_close(path, state) == 0) if (oldstate == newstate) { return; nfs4_put_open_state(state); nfs4_put_open_state(state); nfs4_put_state_owner(owner); nfs4_put_state_owner(owner); } else nfs4_do_close(path, state); } } /* /* Loading
net/sunrpc/sunrpc_syms.c +0 −1 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,6 @@ EXPORT_SYMBOL(rpc_wake_up_next); EXPORT_SYMBOL(rpc_wake_up_task); EXPORT_SYMBOL(rpc_wake_up_task); EXPORT_SYMBOL(rpciod_down); EXPORT_SYMBOL(rpciod_down); EXPORT_SYMBOL(rpciod_up); EXPORT_SYMBOL(rpciod_up); EXPORT_SYMBOL(rpc_new_task); EXPORT_SYMBOL(rpc_wake_up_status); EXPORT_SYMBOL(rpc_wake_up_status); /* RPC client functions */ /* RPC client functions */ Loading