From: "Antti Tönkyrä" <daedalus@pingtimeout.net>
To: Dr Fields James Bruce <bfields@fieldses.org>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: Patch for mapping EILSEQ into NFSERR_INVAL
Date: Wed, 04 Dec 2013 14:40:09 +0200 [thread overview]
Message-ID: <529F22A9.1030808@pingtimeout.net> (raw)
In-Reply-To: <529F211E.9000003@pingtimeout.net>
On 2013-12-04 14:33, Antti Tönkyrä wrote:
> On 2013-12-03 23:22, Dr Fields James Bruce wrote:
>> On Tue, Dec 03, 2013 at 03:48:06PM -0500, Dr Fields James Bruce wrote:
>>> OK, it makes sense that touching a file with a bad name would get an
>>> error, but you're seeing that cause later creates of files on the same
>>> filesystem fail. I can't figure out why that would happen.
>> ...
>>
>> So maybe there's some other problem here, but...
>>
>>>>>> Given that widely used ntfs-3g FUSE module also returns EILSEQ on
>>>>>> the same case (I tested this) I would argue that a fix should be
>>>>>> done for upstream especially since RFC5661 clearly defines that
>>>>>> invalid UTF-8 sequence should map into NFSERR_INVAL, exact quote:
>>>>>> "Where the client sends an invalid UTF-8 string, the server
>>>>>> should return NFS4ERR_INVAL (see Table 5)".
>>>>> The NFS client will then happily map that straight into EINVAL for
>>>>> you...
>> This seems like a spec bug?
>>
>> NFS4ERR_INVAL only makes sense if you could really mandate UTF-8 on the
>> wire all the time. But I don't know what other error would work.
>>
>> I guess a client could map INVAL to EILSEQ on open or lookup (is there
>> any other reason a correct client should ever see INVAL on those ops?).
>> Or do that only if fs_charset is supported and has
>> FSCHARSET_CAP4_ALLOWS_ONLY_UTF8 set. Yuch.
>>
>> --b.
> Ewh...
>
> I did some further testing and managed to get stale NFS file handles
> instead of I/O errors on one run. (Haven't been able to repeat this
> behaviour)
>
> After that I did another run (which errored with I/O errors) and found
> out that I am able to touch existing files but not create any new
> files. Touching an existing file changes the mtime as expected on both
> the NFS share and backing FS so something is still being exchanged by
> the NFS client and server. I also tested to write into a touchable
> file but that returned an I/O error again.
>
> Example below:
> # ls -l p
> -rwxrwxrwx 1 root root 0 Dec 4 14:26 p
> # touch p
> # ls -l p
> -rwxrwxrwx 1 root root 0 Dec 4 14:31 p
> # touch newfile
> touch: cannot touch `newfile': Input/output error
> # echo test > p
> -su: p: Input/output error
>
> - Antti
>
Also might be worth noting that NFSv3 also emits the "nfsd: non-standard
errno: -84" and touch command on client says "I/O error" but in NFSv3
case the client doesn't start to I/O erroring on everything after that.
- Antti
next prev parent reply other threads:[~2013-12-04 12:40 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-02 20:21 Patch for mapping EILSEQ into NFSERR_INVAL Antti Tönkyrä
2013-12-02 20:45 ` Trond Myklebust
2013-12-02 20:52 ` Antti Tönkyrä
2013-12-03 20:48 ` Dr Fields James Bruce
2013-12-03 21:22 ` Dr Fields James Bruce
2013-12-04 6:55 ` Antti Tönkyrä
2013-12-04 15:41 ` Dr Fields James Bruce
2013-12-04 20:44 ` Antti Tönkyrä
2013-12-04 21:03 ` Dr Fields James Bruce
2013-12-04 21:08 ` Antti Tönkyrä
2013-12-04 21:22 ` Trond Myklebust
2013-12-04 21:38 ` Dr Fields James Bruce
2013-12-04 22:49 ` Trond Myklebust
2013-12-05 8:39 ` Antti Tönkyrä
2013-12-04 12:33 ` Antti Tönkyrä
2013-12-04 12:40 ` Antti Tönkyrä [this message]
2013-12-04 8:31 ` Christoph Hellwig
2013-12-04 11:15 ` Antti Tönkyrä
2013-12-04 11:19 ` Christoph Hellwig
2013-12-04 11:34 ` Antti Tönkyrä
2013-12-05 19:45 ` 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=529F22A9.1030808@pingtimeout.net \
--to=daedalus@pingtimeout.net \
--cc=bfields@fieldses.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@primarydata.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).