From: Benny Halevy <bhalevy@panasas.com>
To: Andy Adamson <andros@netapp.com>
Cc: pnfs mailing list <pnfs@linux-nfs.org>,
Linux NFS Mailing list <linux-nfs@vger.kernel.org>,
"J. Bruce Fields" <bfields@fieldses.org>
Subject: Re: [pnfs] [PATCH 2/5] pnfsd: fix pnfs_export_operations layoutget valid errors
Date: Tue, 09 Feb 2010 14:52:09 +0200 [thread overview]
Message-ID: <4B715A79.8030403@panasas.com> (raw)
In-Reply-To: <56F28E32-DE24-42C3-BDA1-B305704630FB@netapp.com>
On Feb. 08, 2010, 22:41 +0200, Andy Adamson <andros@netapp.com> wrote:
> On Feb 7, 2010, at 4:05 AM, Benny Halevy wrote:
>
>> On Feb. 05, 2010, 19:10 +0200, andros@netapp.com wrote:
>>> From: Andy Adamson <andros@netapp.com>
>>>
>>> Signed-off-by: Andy Adamson <andros@netapp.com>
>>> ---
>>> fs/nfsd/nfs4pnfsd.c | 6 ++----
>>> 1 files changed, 2 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/fs/nfsd/nfs4pnfsd.c b/fs/nfsd/nfs4pnfsd.c
>>> index 816e2f0..3951e02 100644
>>> --- a/fs/nfsd/nfs4pnfsd.c
>>> +++ b/fs/nfsd/nfs4pnfsd.c
>>> @@ -870,6 +870,7 @@ nfs4_pnfs_get_layout(struct
>>> nfsd4_pnfs_layoutget *lgp,
>>> if (status) {
>>> switch (status) {
>>> case -ETOOSMALL:
>>> + case -E2BIG:
>> Should we allow the filesystem to return nfs errors?
>> Or even require it to do so?
>>
>> This can be done by adding cases for the
>> valid error values for LAYOUTGET in this switch statement.
>
> OK. From re-reading all the past mail and the comments on this latest
> patch set:
>
> 1) We want a limited number of well documented error returns -
> documented as part of the filesystem API not just the spec.
>
> 2) Start with just the errors that we know we need for gfs2 and exofs,
> and expand the list later as necessary.
>
> 3) Allow only nfserr_xxxx errors.
>
>
> Does this address the comments? Do you want more documentation, if so,
> where?
>
> if (status) {
> + /*
> + * The allowable error codes for the layout_get pNFS
> export
> + * operations vector function can be expanded as needed
> + * to include other errors defined for the LAYOUTGET
> pNFS
> + * operation.
> + */
> + case nfserr_badiomode:
> + case nfserr_badlayout:
> + case nfserr_layouttrylater:
> + case nfserr_layoutunavailable:
> + case nfserr_toosmall:
Yup, I think that's the way to go.
> break;
> default:
> + BUG();
There are some generic return values we should allow:
NFS4ERR_ACCESS, NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_LOCKED, NFS4ERR_NOSPC,
NFS4ERR_RECALLCONFLICT, NFS4ERR_SERVERFAULT
Benny
> }
> goto out_freelayout;
>
> -->Andy
>
>> Benny
>>
>>> status = nfserr_toosmall;
>>> break;
>>> case -ENOMEM:
>>> @@ -878,10 +879,7 @@ nfs4_pnfs_get_layout(struct
>>> nfsd4_pnfs_layoutget *lgp,
>> case nfserr_layouttrylater:
>>
>>> status = nfserr_layouttrylater;
>>> break;
>>> case -ENOENT:
>>> - status = nfserr_badlayout;
>>> - break;
>>> - case -E2BIG:
>>> - status = nfserr_toosmall;
>>> + status = nfserr_stale;
>>> break;
>>> default:
>>> status = nfserr_layoutunavailable;
>> --
>> 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
>
prev parent reply other threads:[~2010-02-09 12:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-05 17:10 [PATCH 0/5] pnfs DLM cluster only use read iomode layouts andros
2010-02-05 17:10 ` [PATCH 1/5] pnfsd: fix NFS4ERR_BADIOMODE in layoutget andros
2010-02-05 17:10 ` [PATCH 2/5] pnfsd: fix pnfs_export_operations layoutget valid errors andros
2010-02-05 17:10 ` [PATCH 3/5] pnfsd: DLM file layout only support read iomode layouts andros
2010-02-05 17:10 ` [PATCH 4/5] pnfsd: fix DLM file layout no device return andros
2010-02-05 17:10 ` [PATCH 5/5] pnfs: set failed layout bit per iomode andros
2010-02-07 9:33 ` [pnfs] [PATCH 4/5] pnfsd: fix DLM file layout no device return Boaz Harrosh
2010-02-07 9:26 ` [pnfs] [PATCH 3/5] pnfsd: DLM file layout only support read iomode layouts Boaz Harrosh
2010-02-07 9:05 ` [pnfs] [PATCH 2/5] pnfsd: fix pnfs_export_operations layoutget valid errors Benny Halevy
2010-02-08 20:41 ` Andy Adamson
2010-02-08 21:01 ` J. Bruce Fields
2010-02-09 8:34 ` Boaz Harrosh
2010-02-09 12:52 ` Benny Halevy [this message]
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=4B715A79.8030403@panasas.com \
--to=bhalevy@panasas.com \
--cc=andros@netapp.com \
--cc=bfields@fieldses.org \
--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.