Changes for Linux 5.2:

- Fix some more buffer deadlocks when performing an unmount after a hard
  shutdown.
- Fix some minor space accounting issues.
- Fix some use after free problems.
- Make the (undocumented) FITRIM behavior consistent with other filesystems.
- Embiggen the xfs geometry ioctl's data structure.
- Introduce a new AG geometry ioctl.
- Introduce a new online health reporting infrastructure and ioctl for
  userspace to query a filesystem's health status.
- Enhance online scrub and repair to update the health reports.
- Reduce thundering herd problems when writeback io completes.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAly3TPoACgkQ+H93GTRK
tOunFxAAni0mFp6qEIF+ioildM9XQaF863xrGqLR/h6h4AkqTLBOtBPYCQazewvO
NANYPvMqFWIkGAmvHn/1GH3rEf2EapVF49a5x5y+p58hRY7VX8sXQahXwXj1g33M
KqmIrRxukKRMpVfK1SNn1zGTQV5xXCEwslnKqdUK99UM5EnKvq2J7a+0Sqee1jY9
Giqwb68noQx9RymfyUqpLP082Jk9viUdwMUx0ZPypoT3+I18Jjs09K6jamNKMYl8
ECWsPmxThVZhJopnpOq0C1O/ytf4rWWzPLMXOfl4I0vQjN6aLqPljPebw5bSnHZS
Wy/mSG+cAttxZ5Ax3yQFcfBMBRby3GOqi75htBe8xYMo1e0eF/V33w5p4tDpHT82
BaGj0ca8Ap0Qp0/OakwcgfoAFWT2/uyBXktMyVzJlDsz40MMbT7eimHCWHX15qnh
dWqc2e35kO/rFfNyJ+zKQm1EynatgMPokUKPM6bgx/3jzRV0KhQjYsbwQBo87VYg
GVrkqajPByOouyr0SbyOxvCWb2nGbhIXy+YzoxPyuv8cfhLuG9UuITWHq4kvBqTE
73YeUhMNCuyI2LZSHSnd6c5A3a2SsA9P/QOtn6WWda+nbCPrNIiR3vTcgez2JVDl
2nmddzLU0pJEWDxpn7TZgTerViVaVUmTMmjAKz23z4vyaCHSQks=
=9DOb
-----END PGP SIGNATURE-----
xfs: merge adjacent io completions of the same type

It's possible for pagecache writeback to split up a large amount of work
into smaller pieces for throttling purposes or to reduce the amount of
time a writeback operation is pending.  Whatever the reason, XFS can end
up with a bunch of IO completions that call for the same operation to be
performed on a contiguous extent mapping.  Since mappings are extent
based in XFS, we'd prefer to run fewer transactions when we can.

When we're processing an ioend on the list of io completions, check to
see if the next items on the list are both adjacent and of the same
type.  If so, we can merge the completions to reduce transaction
overhead.

On fast storage this doesn't seem to make much of a difference in
performance, though the number of transactions for an overnight xfstests
run seems to drop by ~5%.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
1 file changed