Re: Crash when IO is being submitted and block size is changed

From: Jan Kara
Date: Thu Jun 28 2012 - 12:53:54 EST


On Thu 28-06-12 11:44:03, Mikulas Patocka wrote:
> On Thu, 28 Jun 2012, Jan Kara wrote:
>
> > > Do you have any other ideas what to do with it?
> > Yeah, it's nasty and neither solution looks particularly appealing. One
> > idea that came to my mind is: I'm trying to solve some races between direct
> > IO, buffered IO, hole punching etc. by a new mapping interval lock. I'm not
> > sure if it will go anywhere yet but if it does, we can fix the above race
> > by taking the mapping lock for the whole block device around setting block
> > size thus effectivelly disallowing any IO to it.
> >
> > Honza
> > --
> > Jan Kara <jack@xxxxxxx>
> > SUSE Labs, CR
>
> What races are you trying to solve? There used to be i_alloc_mem that
> prevented direct i/o while the file is being truncated, but it disappeared
> in recent kernels...
i_alloc_sem has been replaced by inode_dio_wait() and friends. The
problem is mainly with hole punching - see the thread starting here:
http://www.spinics.net/lists/linux-ext4/msg32059.html

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/