c626d174cf
Unwritten extent conversion can recurse back into the filesystem due to memory allocation. Memory reclaim requires I/O completions to be processed to allow the callers to make progress. If the I/O completion workqueue thread is doing the recursion, then we have a deadlock situation. Move unwritten extent completion into it's own workqueue so it doesn't block I/O completions for normal delayed allocation or overwrite data. Signed-off-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Christoph Hellwig <hch@lst.de> |
||
---|---|---|
.. | ||
kmem.c | ||
kmem.h | ||
mrlock.h | ||
sv.h | ||
time.h | ||
xfs_aops.c | ||
xfs_aops.h | ||
xfs_buf.c | ||
xfs_buf.h | ||
xfs_cred.h | ||
xfs_dmapi_priv.h | ||
xfs_export.c | ||
xfs_export.h | ||
xfs_file.c | ||
xfs_fs_subr.c | ||
xfs_fs_subr.h | ||
xfs_globals.c | ||
xfs_globals.h | ||
xfs_ioctl.c | ||
xfs_ioctl.h | ||
xfs_ioctl32.c | ||
xfs_ioctl32.h | ||
xfs_iops.c | ||
xfs_iops.h | ||
xfs_linux.h | ||
xfs_lrw.c | ||
xfs_lrw.h | ||
xfs_quotaops.c | ||
xfs_stats.c | ||
xfs_stats.h | ||
xfs_super.c | ||
xfs_super.h | ||
xfs_sync.c | ||
xfs_sync.h | ||
xfs_sysctl.c | ||
xfs_sysctl.h | ||
xfs_version.h | ||
xfs_vnode.h | ||
xfs_xattr.c |