summaryrefslogtreecommitdiff
tag namerefactor-log-recovery_2020-05-06 (5a6108eb6c15f60ad4d6abde38e89a8dfae9d533)
tag date2020-05-06 17:59:12 -0700
tagged byDarrick J. Wong <darrick.wong@oracle.com>
tagged objectcommit 298248c00c...
xfs: refactor log recovery
This series refactors log recovery by moving recovery code for each log item type into the source code for the rest of that log item type and using dispatch function pointers to virtualize the interactions. This dramatically reduces the amount of code in xfs_log_recover.c and increases cohesion throughout the log code. In this second version, we dispense with the extra indirection for log intent items. During log recovery pass 2, committing of the recovered intent and intent-done items is done directly by creating xlog_recover_item_types for all intent types. The recovery functions that do the work are now called directly through the xfs_log_item ops structure. Recovery item sorting is less intrusive, and the buffer and inode recovery code are in separate files now. The third version has changes for various minor review comments. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAl6zXWAACgkQ+H93GTRK tOugbA//UZzIJwHsO7BkdsKlhZswoFeWSI46tS587iK8FbIWbG226qFsSXB++iXj 0hO+KeZicv3rVXNrk56cTlsFdYXM3mPghIMiLcAWWhVUk3ave5YaUi9oz6NV7Ipw QvpSu0nIbdjhhwf9ihbbMQCQOc1176WgvNh23cGykMyKBaC0p6JxOFk5a1R3ua+5 N5603kSNyPRmdJ9MY0fgnJnSvugsRSiv9CX732cQfiIrDixwLMtsDxTMc1tH0WM2 YF+OwxeBQqvozwD/5d86oHhsipUn2SG5x1jSEUhxStT6PEObngQHSIDlxFWrVb6D PgmJR027Pvm79ke4zTeoRSAt0gmkdOwRhFiiYaRjK8jkPOlw8Cv+nB+4dly+49SH cW1m/wFEjEILzNFcTS0J4Lf4CLgf/UaCPm9xMa978VxdBv7i6H4Ur72c+6fgNcdW ICE5XwiVHcurlFnfkXt1pW/8OpjoKc0OERp3xQIAqauE28d5eTZIC22wwrGiacsX Iy0n939NUg+5PTuyfWZzx5I/drN64rKXd7vjLM4xb6eST5p01r7SjExi/QCr4p4R lYvOu1NNL4JoR3w0Hpg/w25bvjUJdR2HQm1uIsHlAyp7ZHBZHMiE2EeyD3L7IhMc qAH5LOucpVsLfLJwfhirUonyy/uAgS5znKrGHL8Lev5anjOt/jo= =nW/4 -----END PGP SIGNATURE-----