Re: [PATCH] ext4: Return EIO on read error in ext4_find_entry

Pavel Machek
2017-06-27T21:58:14Z

[-- Attachment #1: Type: text/plain, Size: 1369 bytes --]

Hi!

> > >> Previously, a read error would be ignored and we would eventually return
> > >> NULL from ext4_find_entry, which signals "no such file or directory". We
> > >> should be returning EIO.
> > >>
> > >> Signed-off-by: Khazhismel Kumykov <khazhy@google.com>
> > >
> > > Thanks, applied.
> >
> > I don't necessarily agree that this is an improvement.
> >
> > If the requested entry is not in the bad block, this will return an
> > error even if the file name could be found in another block. It
> > would be better to save the error until the end and only return -EIO
> > if the entry cannot be found.
>
> The problem is that if we continue, successive reads may all take
> seconds or minutes to fail, thus tieing up the process for a long
> time. If this process happens to be, say, the node's Kubernetes
> management server it can take down the entire node (since if there
...
> By returning EIO right away, we can "fast fail".

Well, OTOH if I have a bad flash, and get EIO trying to read
~/my-disertation-thesis.tex because ~/.emacs could not be read... I'll be
quite unhappy.

Yes, fast fail is nice when you have redundant machines, but can be a
problem otherwise.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]