On Wed, 18 Oct 2006, Andrew Morton wrote:
> > The inode->i_mutex should be held every time when calling
> > i_size_write(), and the function contains WARN_ON() for that
> > condition. page_symlink(), however, does not lock i_mutex. It is
> > perfectly OK, as the i_mutex for the directory is held at the time
> > page_symlink() is running, so noone is able to change i_size during
> > race condition. However, i_size_write() spits out the warning without
> > this patch.
> I suspect it isn't necessary because the symlink's inode hasn't been wired
> up into the directory tree yet and no other thread can find it and do
> things to it.
I completely agree (see my comments to the patch in previous mail).
However, the warning emitted by i_size_write() should really go away. I
can see the following possibilities:
- lock the i_mutex, even though it's for sure not necessary. Not nice.
- remove the warning from i_size_write(). Not nice either, we want to be
warned about other calls that are not correct
- make the warning in i_size_write() conditional on inode->i_dentry not
being NULL (?)
Thanks,
--
Jiri Kosina
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]