Thread (4 messages) 4 messages, 3 authors, 2014-07-29

Re: Is warn_on() right reply for i/o error?

From: Jan Kara <jack@suse.cz>
Date: 2014-07-29 12:05:59
Also in: lkml

On Thu 24-07-14 15:29:38, Ted Tso wrote:
On Thu, Jul 24, 2014 at 05:27:22PM +0200, Pavel Machek wrote:
quoted
Hi!

Just... I know, I should not be unscrewing hard drive cover while
operating.

But on the other hand... WARN_ON() does not sound like right reply for
a disk failure... right?
Actually, it can be worse than that.  If a hard drive disappears out
from under you while writeback is happening, it's possible to get
crashes in bdi_writeack_workfn() because you can have races between
bdi_unregister() and bdi_writeback_workfn(), since the latter requeues
itself and flush_delayed_work() can return while
bdi_writeback_workfn() is still executing.
  This should be fixed by 5acda9d12dcf1ad0d9a5a2a7c646de3472fa7555 I wrote
in April. But there are certainly other races in that code...
This looks like it's a related problem, where the block device gets
unregistered (and this happens in the block device layer without it
telling the file system that the disk drive is about to disappear out
from under it), and occasionally, Bad Stuff Happens.  :-(
  Yeah.

								Honza
-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help