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 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.