Re: [PATCH 2/2] ext4: Fix deadlock in ext4_symlink() in ENOSPC conditions

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

 



On Fri, Apr 29, 2011 at 11:24:45PM +0200, Jan Kara wrote:
> ext4_symlink() cannot call __page_symlink() with transaction open.
> __page_symlink() calls ext4_write_begin() which can wait for
> transaction commit if we are running out of space thus causing a
> deadlock. Also error recovery in ext4_truncate_failed_write() does
> not count with the transaction being already started (although I'm
> not aware of any particular deadlock here).
> 
> Fix the problem by stopping a transaction before calling __page_symlink()
> (we have to be careful and put inode to orphan list so that it gets deleted
> in case of crash) and starting another one after __page_symlink() returns
> for addition of symlink into a directory.
> 
> Signed-off-by: Jan Kara <jack@xxxxxxx>

Thanks, added to the ext4 tree.

					- 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