mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
![]() During data integrity (WB_SYNC_ALL) writeback, wbc->nr_to_write will go negative on inodes with more than 1024 dirty pages due to implementation details of write_cache_pages(). Currently XFS will abort page clustering in writeback once nr_to_write drops below zero, and so for data integrity writeback we will do very inefficient page at a time allocation and IO submission for inodes with large numbers of dirty pages. Fix this by only aborting the page clustering code when wbc->nr_to_write is negative and the sync mode is WB_SYNC_NONE. Cc: <stable@kernel.org> Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> |
||
---|---|---|
.. | ||
kmem.c | ||
kmem.h | ||
mrlock.h | ||
sv.h | ||
time.h | ||
xfs_acl.c | ||
xfs_aops.c | ||
xfs_aops.h | ||
xfs_buf.c | ||
xfs_buf.h | ||
xfs_cred.h | ||
xfs_export.c | ||
xfs_export.h | ||
xfs_file.c | ||
xfs_fs_subr.c | ||
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_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_trace.c | ||
xfs_trace.h | ||
xfs_version.h | ||
xfs_vnode.h | ||
xfs_xattr.c |