From: fs <fs@ercist.iscas.ac.cn>
To: Bryan Henderson <hbryan@us.ibm.com>
Cc: linux-fsdevel <linux-fsdevel@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Kenichi Okuyama <okuyama@intellilink.co.jp>
Subject: Re: [RFD] What error should FS return when I/O failure occurs?
Date: Wed, 18 May 2005 13:10:24 -0400 [thread overview]
Message-ID: <1116436224.2428.16.camel@CoolQ> (raw)
In-Reply-To: <OF18BF4790.4053D6B0-ON88257004.0063F34D-88257004.006557CA@us.ibm.com>
On Tue, 2005-05-17 at 14:26, Bryan Henderson wrote:
> >Yes, we're sure to abort the operation, but we can't use
> >exit(EXIT_FAILURE) directly. For HA environment, we should
> >identify the cause of the error, take correspondent action,
> >right? So we need to get the right error.
>
> You mean a computer program will take the correspondent action? I think
> it would take a remarkably intelligent program to respond appropriately to
> particular failures -- especially if the program isn't tailored to a very
> specific environment. In practice, all I ever see a binary response --
> one for success, one for failure. The errno is used at most for giving a
> three word explanation to a human so the human can respond. That's why
> people don't take this issue seriously.
>
> "pass the errno up" is definitely a layering violation and cheap
> architecture. It's why the 3 word description you get is often
> meaningless -- it's telling you about a failure deep in computations you
> aren't even supposed to know about. I myself stay away from errnos where
> possible and produce error information in English text, with each layer
> adding information meaningful at that layer. But where we're sticking
> with classic errnos, it just doesn't make sense to work really hard on it.
>
> Nonetheless, I think there's broad agreement, and the current discussion
> is consistent with it, that if write() fails due to an I/O error, the
> errno should be EIO. Whether it's formally specified or not, the standard
> is there. That ext3 returns EROFS is either a bug or an implementation
what standard do you mean?
> convenience compromise or a case where the actual failure is more
> complicated than you imagine (maybe an operation fails and gets retried --
> the original failure caused an automatic switch to R/O and the retry
> failed because of the R/O status. Errnos are definitely not sufficient to
> give you the whole chain of causation for a failure -- if it gives you
> even the immediate cause, you should feel fortunate).
I suggest you visit our project, see the testing result,
http://developer.osdl.jp/projects/doubt/fs-consistency-and-coherency
For each test case, different FS returns different result.
>From user's perspective, it's really annoying, so, there should be a
standard which constraints the error type. Otherwise, different fs
can return whatever they want, regardless of the user's need.
> --
> Bryan Henderson IBM Almaden Research Center
> San Jose CA Filesystems
>
next prev parent reply other threads:[~2005-05-18 6:02 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <05May16.114248edt.32448@gpu.utcc.utoronto.ca>
2005-05-17 15:43 ` [RFD] What error should FS return when I/O failure occurs? fs
2005-05-17 18:26 ` Bryan Henderson
2005-05-18 17:10 ` fs [this message]
2005-05-18 7:57 ` Valdis.Kletnieks
2005-05-18 19:06 ` Bryan Henderson
2005-05-17 6:00 Hua Zhong (hzhong)
2005-05-17 17:20 ` fs
-- strict thread matches above, loose matches on Subject: below --
2005-05-17 5:36 Hua Zhong (hzhong)
2005-05-17 16:55 ` fs
2005-05-16 17:14 fs
2005-05-16 6:35 ` Valdis.Kletnieks
2005-05-16 18:04 ` fs
2005-05-16 17:58 ` Valdis.Kletnieks
2005-05-17 16:47 ` fs
[not found] ` <200505171057.10540.vda@ilport.com.ua>
2005-05-17 19:41 ` fs
2005-05-16 20:11 ` Kenichi Okuyama
2005-05-16 20:35 ` Valdis.Kletnieks
2005-05-16 21:39 ` Kenichi Okuyama
2005-05-16 22:04 ` Brad Boyer
2005-05-16 22:30 ` Elladan
2005-05-17 6:17 ` Denis Vlasenko
2005-05-17 18:10 ` Bryan Henderson
2005-05-18 6:54 ` Denis Vlasenko
2005-05-17 21:26 ` Kenichi Okuyama
2005-05-19 15:44 ` Elladan
2005-05-16 22:57 ` Coywolf Qi Hunt
2005-05-16 22:54 ` Coywolf Qi Hunt
2005-05-17 16:06 ` fs
2005-05-16 17:36 ` Hans Reiser
2005-05-16 18:04 ` Bryan Henderson
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=1116436224.2428.16.camel@CoolQ \
--to=fs@ercist.iscas.ac.cn \
--cc=hbryan@us.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=okuyama@intellilink.co.jp \
/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).