RPC: stops the release_pipe() funtion from being called twice

This patch stops the release_pipe() funtion from being called
 twice by invalidating the ops pointer in the rpc_inode
 when rpc_pipe_release() is called.

 Signed-off-by: Steve Dickson <steved@redhat.com>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Steve Dickson 2005-10-18 23:19:40 -07:00 committed by Trond Myklebust
parent 7f709a48fa
commit 747c5534c9
1 changed files with 2 additions and 0 deletions

View File

@ -177,6 +177,8 @@ rpc_pipe_release(struct inode *inode, struct file *filp)
__rpc_purge_upcall(inode, -EPIPE);
if (rpci->ops->release_pipe)
rpci->ops->release_pipe(inode);
if (!rpci->nreaders && !rpci->nwriters)
rpci->ops = NULL;
out:
up(&inode->i_sem);
return 0;