summaryrefslogtreecommitdiff
tag namelog-recovery-fixes-5.14_2021-06-18 (0462e549d44254d7be686c2d1795a4af245e80b5)
tag date2021-06-18 11:51:53 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 386a03c009...
xfs: minor fixes to log recovery problems
This series fixes a couple of bugs that I found in log recovery. The first problem is that we don't reserve space for per-AG btree expansion when we inactivate inodes during log recovery. If a file with shared blocks were to be unlinked, this can result in transaction failure because inactivation assumes that it doesn't need to reserve blocks to free files and cannot handle a refcount btree expansion. The second problem addressed here is that if log recovery fails due to something that doesn't directly impact the log (like ENOSPC during transaction allocation, or ENOMEM allocating buffers) it will leave the log running, which means that it writes an unmount record after recovery fails. The /next/ mount will see a clean log and start running, even though the metadata isn't consistent. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmDM60kACgkQ+H93GTRK tOtu8g//ZAAxtGg1cfjKFeOGe+q1N1heIbhtAp5ZUQ4AZyu8e3OXEr+2abmg1uIS JSzb0rBM8wUa03m/+VZxxqWXPaJmEKKIx31a7WtUFfyL5fzn2IpEOFo1/vke523f GOCFMZM31RVVkzkrwSug+6yM8ybLoyQ/T1rsMKYUQq86NtQkn8ZHCVdesqUqE9kH HnkgakK98tSsfUTst4Np04W+hTXbs8nfMwG+SP9r+d6Mv7kXTlTgr4nZgzvxYY7C Wkz9hesblruF6VUaJwavDNmfWFm9qdJ6gYKyhAPdfjZUS+sX1HpnHIflANsLWaJi vo7++8vDSqntcpkbxQ8pXd5AO8rctZOGYXF5pzDD4rJbJ8gwG5bnSCAvlGbC5nf6 qKy53QL4ByUNBx+3XE1dn8j7MCK5eBlvtQPy60CV/OR9ExzrUzxzpyGl2TGtEAWD hKW5qUyMQ7MFB0Vl/rTlMvBvcg2zd1iQxbGBGJl+d+W2cBLorAHkpHyJ42jfIOcJ Q818COkg0dxTYJxg9gSAsdSULLDTC/TRuMOhCJ684+isuw3Ss5urcRkvS0+DmSnD Hbx0WDQNGi37bt8ZwQUdUH/Nkjvosvby3KeY9+PGK1z3io1nzypuw2dpNXZly3Rb KNmiF49uvC2sLYeh7QKQOBVIuXrACSKRZ/tQ72ABlN+kDMjBms8= =Z2JV -----END PGP SIGNATURE-----