On Tue, 2010-09-14 at 16:59 +0800, Bian Naimeng wrote: > Maybe rpc_pipe_msg should be protected by inode->i_lock when purge the free_list. > > Signed-off-by: Bian Naimeng <biannm@xxxxxxxxxxxxxx> > > --- > net/sunrpc/rpc_pipe.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c > index 8d63f8f..24b2714 100644 > --- a/net/sunrpc/rpc_pipe.c > +++ b/net/sunrpc/rpc_pipe.c > @@ -47,8 +47,10 @@ static void rpc_purge_list(struct rpc_inode *rpci, struct list_head *head, > return; > do { > msg = list_entry(head->next, struct rpc_pipe_msg, list); > + spin_lock(&rpci->vfs_inode->i_lock); > list_del(&msg->list); > msg->errno = err; > + spin_unlock(&rpci->vfs_inode->i_lock); > destroy_msg(msg); > } while (!list_empty(head)); > wake_up(&rpci->waitq); > -- > 1.6.5.2 > > > No, we don't need to protect the list 'head'. Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html