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