On Wed, Aug 03, 2016 at 12:39:48PM +0200, Jan Kara wrote: > When we need to move xattrs into external xattr block, we call > ext4_xattr_block_set() from ext4_expand_extra_isize_ea(). That may end > up calling ext4_mark_inode_dirty() again which will recurse back into > the inode expansion code leading to deadlocks. > > Protect from recursion using EXT4_STATE_NO_EXPAND inode flag and move > its management into ext4_expand_extra_isize_ea() since its manipulation > is safe there (due to xattr_sem) from possible races with > ext4_xattr_set_handle() which plays with it as well. > > CC: <stable@xxxxxxxxxxxxxxx> # 4.4.x- > Signed-off-by: Jan Kara <jack@xxxxxxx> Thanks, applied. - 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