diff options
author | Darrick J. Wong <djwong@kernel.org> | 2022-07-14 11:05:33 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2022-10-14 14:16:25 -0700 |
commit | d5eae40277f697a55b50057f6d8301478dbf8d33 (patch) | |
tree | 182060028378099bd09349d0e61ece69e6588562 /fs/efs/file.c | |
parent | 904ad989062d678ff24bb448226ba8b1ebbc02c7 (diff) |
xfs: set the buffer type after holding the AG[IF] across trans_roll
Currently, the only way to lock an allocation group is to hold the AGI
and AGF buffers. If repair needs to roll the transaction while
repairing some AG metadata, it maintains that lock by holding the two
buffers across the transaction roll and joins them afterwards.
However, repair is not the same as the other parts of XFS that employ
this bhold/bjoin sequence, because it's possible that the AGI or AGF
buffers are not actually dirty before the roll. In this case, the
buffer log item can detach from the buffer, which means that we have to
re-set the buffer type in the bli after joining the buffer to the new
transaction so that log recovery will know what to do if the fs fails.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/efs/file.c')
0 files changed, 0 insertions, 0 deletions