From: Benny Halevy <bhalevy@panasas.com>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: pnfs@linux-nfs.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 1/1 v2] nfs41: pass state recovery error back to caller
Date: Wed, 02 Sep 2009 21:06:43 +0300 [thread overview]
Message-ID: <4A9EB433.6070506@panasas.com> (raw)
In-Reply-To: <1251913960.26601.41.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
On Sep. 02, 2009, 20:52 +0300, Trond Myklebust <Trond.Myklebust@netapp.com> wrote:
> On Wed, 2009-09-02 at 10:48 +0300, Benny Halevy wrote:
>> Currently the error returned from create_session
>> is ignored by nfs4_check_client_ready and mis-translated to
>> -EPROTONOSUPPORT if the client has a session.
>> Record the error returned from create_session to the state manager
>> in cl_cons_state via nfs_mark_client_ready and pass it upstream
>> in nfs4_recover_expired_lease.
>>
>> Signed-off-by: Benny Halevy <bhalevy@panasas.com>
>> ---
>
> Firstly, if you're out to save 4 bytes by sharing storage with an object
> of an entirely different type, then please use an explicit union. Then
> use a special state NFS4CLNT_LEASE_RECLAIM_FAILED in order to clearly
> label what is being stored in that union.
>
OK. Just to make sure, will it be acceptable by you to add a field
to struct nfs_client to explicitly keep this status or would you prefer to
save these 4 bytes using the union and extra state?
> Secondly, I'd say that it is more natural to share storage with the
> client id, cl_ex_clid, rather than using the lease time. The latter is
> read via an entirely separate RPC call _after_ you are done establishing
> the lease and the first session.
>
I (ab?)used cl_lease_time for this reason as nobody cares about its
value at the session establishment phase.
(cl_ex_clid is defined under #ifdef CONFIG_NFS_V4_1
so using it for this purpose will be cumbersome...)
Benny
next prev parent reply other threads:[~2009-09-02 18:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-02 7:48 [PATCH 1/1 v2] nfs41: pass state recovery error back to caller Benny Halevy
2009-09-02 17:52 ` Trond Myklebust
[not found] ` <1251913960.26601.41.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-09-02 18:06 ` Benny Halevy [this message]
2009-09-02 19:09 ` Trond Myklebust
[not found] ` <1251918574.26601.48.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-09-02 21:04 ` Benny Halevy
2009-09-03 15:15 ` [RFC 1/1] nfs4: optionally return status from state_manager Benny Halevy
2009-09-25 4:30 ` Ping: [pnfs] " Benny Halevy
2009-09-25 13:29 ` Trond Myklebust
[not found] ` <1253885382.31072.14.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-09-25 13:53 ` Benny Halevy
2009-09-25 14:10 ` J. Bruce Fields
2009-09-25 14:17 ` Benny Halevy
2009-09-25 14:13 ` Trond Myklebust
[not found] ` <1253888019.31072.31.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-09-25 14:19 ` Benny Halevy
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=4A9EB433.6070506@panasas.com \
--to=bhalevy@panasas.com \
--cc=Trond.Myklebust@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=pnfs@linux-nfs.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.