Re: lock i_mutex for fallocate?

From: Yongqiang Yang
Date: Wed Aug 31 2011 - 21:12:13 EST


Hi Allison,

there are races between read and punch hole too. After pages are
released and before punch hole hold i_data_sem, a page can be mapped
by read, then write can be done on the page.

Maybe we should separate punch hole from fallocate, and solve the
races in vfs layer.

Yongqiang.
On Thu, Sep 1, 2011 at 8:33 AM, Allison Henderson
<achender@xxxxxxxxxxxxxxxxxx> wrote:
> Hi All,
>
> In ext4 punch hole, we realized that the punch hole operation needs to be
> done under i_mutex just like truncate.  i_mutex for truncate is held in the
> vfs layer, so we dont need to lock it at the file system layer, but vfs does
> not lock i_mutex for fallocate.  We can lock i_mutex for fallocate at the fs
> layer, but question was raised then: should i_mutex for fallocate be held in
> the vfs layer instead?  I do not know if other file systems need i_mutex to
> be locked for fallocate, or if they might be locking it already, so I am
> doing some investigating on this idea, and also the appropriate use of
> i_mutex in general.  Can someone provide some insight this topic?  Thx!
>
> Allison Henderson
> --
> 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/
>



--
Best Wishes
Yongqiang Yang
--
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/