Re: ext4 dev branch: mutex not locked in ext4_truncate()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 03, 2013 at 04:41:01PM +0200, Lukáš Czerner wrote:
> Hi Ted,
> 
> there is a problem with your patch:
> 
> 32d90a241a44d22ebc5289d2a2561691fc2d1351
> 
> because there is one more case where we might call ext4_truncate()
> without i_mutex locked - from ext4_symlink(). Because we might be
> calling __page_symlink() and it will call ext4_write_begin(). In
> possible error case (ENOSPC for example) we might want to truncate
> everything which might have been instantiated past i_size, however
> at that point we're not holding i_mutex because there is no point in
> doing so - the inode can not be possibly held by anyone else.
> 
> My proposal is to only check whether the mutex is locked if the
> inode is _not_ new or is _not_ being freed.
> 
> There is a quick&dirty patch and it seems to be working well so
> far. Let me know if you prefer standalone patch, or if you'll
> include it into your commit.

I really like your approach.  We've been trying a number of other
approaches, including

      http://patchwork.ozlabs.org/patch/232914/
and
      http://patchwork.ozlabs.org/patch/231679/

but I think your suggestion is the best.

Thanks!!

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux