From: Vince Busam <vbusam@google.com>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: nfs@lists.sourceforge.net
Subject: Re: [PATCH] Fix typo on __rpc_purge_upcall
Date: Mon, 12 Dec 2005 12:33:01 -0800 [thread overview]
Message-ID: <439DDE7D.3050904@google.com> (raw)
In-Reply-To: <1134415137.7877.10.camel@lade.trondhjem.org>
Trond Myklebust wrote:
> On Mon, 2005-12-12 at 10:57 -0800, Vince Busam wrote:
>
>>I applied this patch from 2.6.15-rc5, and got the following oops. I really wish I could
>>reproduce this faster, but it still only happens over the weekend when my credentials have
>>expired. Letting them expire during the week doesn't reproduce it.
>
>
> Could you send us the contents of rpc_close_pipes() and
> rpc_pipe_release()?
>
> I cannot see how rpc_pipe_release can be calling __rpc_purge_upcall with
> a null entry for rpci->ops: the inode->i_sem should be protecting it
> from changing.
static void
rpc_close_pipes(struct inode *inode)
{
struct rpc_inode *rpci = RPC_I(inode);
cancel_delayed_work(&rpci->queue_timeout);
flush_scheduled_work();
down(&inode->i_sem);
if (rpci->ops != NULL) {
rpci->nreaders = 0;
__rpc_purge_list(rpci, &rpci->in_upcall, -EPIPE);
__rpc_purge_upcall(inode, -EPIPE);
rpci->nwriters = 0;
if (rpci->ops->release_pipe)
rpci->ops->release_pipe(inode);
rpci->ops = NULL;
}
rpc_inode_setowner(inode, NULL);
up(&inode->i_sem);
}
static int
rpc_pipe_release(struct inode *inode, struct file *filp)
{
struct rpc_inode *rpci = RPC_I(filp->f_dentry->d_inode);
struct rpc_pipe_msg *msg;
down(&inode->i_sem);
if (rpci->ops == NULL)
goto out;
msg = (struct rpc_pipe_msg *)filp->private_data;
if (msg != NULL) {
msg->errno = -EPIPE;
list_del_init(&msg->list);
rpci->ops->destroy_msg(msg);
}
if (filp->f_mode & FMODE_WRITE)
rpci->nwriters --;
if (filp->f_mode & FMODE_READ)
rpci->nreaders --;
if (!rpci->nreaders)
__rpc_purge_upcall(inode, -EPIPE);
if (rpci->ops->release_pipe)
rpci->ops->release_pipe(inode);
out:
up(&inode->i_sem);
return 0;
}
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next prev parent reply other threads:[~2005-12-12 20:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-21 19:51 [PATCH] Fix typo on __rpc_purge_upcall Vince Busam
2005-11-21 19:55 ` Trond Myklebust
2005-11-21 21:51 ` Vince Busam
2005-11-21 22:34 ` Trond Myklebust
2005-11-21 22:59 ` Vince Busam
2005-11-21 23:07 ` Trond Myklebust
2005-11-28 18:16 ` Vince Busam
2005-11-28 18:52 ` Trond Myklebust
2005-12-05 21:03 ` Vince Busam
2005-12-12 18:57 ` Vince Busam
2005-12-12 19:18 ` Trond Myklebust
2005-12-12 20:33 ` Vince Busam [this message]
2005-12-12 23:51 ` Trond Myklebust
2006-01-05 22:30 ` Vince Busam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=439DDE7D.3050904@google.com \
--to=vbusam@google.com \
--cc=nfs@lists.sourceforge.net \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.