tag name | refactor-log-recovery_2020-05-06 (5a6108eb6c15f60ad4d6abde38e89a8dfae9d533) |
tag date | 2020-05-06 17:59:12 -0700 |
tagged by | Darrick J. Wong <darrick.wong@oracle.com> |
tagged object | commit 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-----