From: Boaz Harrosh <bharrosh@panasas.com>
To: "J. Bruce Fields" <bfields@redhat.com>,
NFS list <linux-nfs@vger.kernel.org>
Subject: Re: Grace period NEVER ends
Date: Thu, 11 Aug 2011 18:16:27 -0700 [thread overview]
Message-ID: <4E447EEB.501@panasas.com> (raw)
In-Reply-To: <4E44790A.8000106@panasas.com>
On 08/11/2011 05:51 PM, Boaz Harrosh wrote:
> Hi
>
> I have this weird problem with latest code. It is Benny's latest based
> on 3.1-rc1 + linus/master of today + trond/linux-next.
>
> For my testing I use a pNFS client mounted on localhost over a pNFS-nfsd on
> the same machine. If I wait the 90 seconds or so and then mount all is well
> but if I mount right away, or stop the server, then start and mount.
> The Grace period NEVER ends. On prints I see the server returning 100013
> continuously forever.
>
> This is my usual test setup. In the passed it would wait the annoying grace
> and continue. Now it never returns.
>
> Before I start to bisect back to a good point I though I might ask for pointers
> on what might have changed in this respect.
>
> Thanks for any input
> Boaz
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
I put some prints and I see that the nfserr_grace is returned from here:
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index a68384f..8eae742 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -301,8 +301,10 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
*/
if (nfsd4_has_session(cstate) &&
!cstate->session->se_client->cl_firststate &&
- open->op_claim_type != NFS4_OPEN_CLAIM_PREVIOUS)
+ open->op_claim_type != NFS4_OPEN_CLAIM_PREVIOUS) {
+ printk(KERN_ERR "!!! Before RECLAIM_COMPLETE done\n");
return nfserr_grace;
+ }
if (nfsd4_has_session(cstate))
copy_clientid(&open->op_clientid, cstate->session);
Is that new code?
and this print below is never shown:
diff --git a/fs/lockd/grace.c b/fs/lockd/grace.c
index 183cc1f..202c3e7 100644
--- a/fs/lockd/grace.c
+++ b/fs/lockd/grace.c
@@ -54,6 +54,10 @@ EXPORT_SYMBOL_GPL(locks_end_grace);
*/
int locks_in_grace(void)
{
- return !list_empty(&grace_list);
+ int ret = !list_empty(&grace_list);
+
+ if (ret)
+ printk(KERN_ERR "locks_in_grace => true\n");
+ return ret;
}
EXPORT_SYMBOL_GPL(locks_in_grace);
If you ask me that if() in nfsd4_open above is totally bogus.
So what if this is not the cl_firststate? Don't we have to
actually ask is this a grace period at all? which we do below.
It looks to me like the complete if (and its comment) is not
needed. We already check for the proper things below.
Boaz
next prev parent reply other threads:[~2011-08-12 1:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-12 0:51 Grace period NEVER ends Boaz Harrosh
2011-08-12 1:14 ` J. Bruce Fields
2011-08-12 1:16 ` Boaz Harrosh [this message]
2011-08-12 1:29 ` Boaz Harrosh
2011-08-12 2:15 ` J. Bruce Fields
2011-08-12 14:08 ` Casey Bodley
2011-08-12 14:32 ` J. Bruce Fields
2011-08-12 18:06 ` Boaz Harrosh
2011-08-12 18:39 ` J. Bruce Fields
2011-08-12 19:00 ` Boaz Harrosh
2011-08-12 20:36 ` J. Bruce Fields
2011-08-12 20:44 ` Boaz Harrosh
2011-08-12 20:48 ` J. Bruce Fields
2011-08-12 19:30 ` Casey Bodley
2011-08-12 20:36 ` Boaz Harrosh
2011-08-12 21:09 ` Boaz Harrosh
2011-08-12 15:52 ` Trond Myklebust
2011-08-12 16:25 ` J. Bruce Fields
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=4E447EEB.501@panasas.com \
--to=bharrosh@panasas.com \
--cc=bfields@redhat.com \
--cc=linux-nfs@vger.kernel.org \
/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.