path: root/bin
diff options
authorKirk McKusick <mckusick@FreeBSD.org>2021-02-12 05:31:16 +0000
committerKirk McKusick <mckusick@FreeBSD.org>2021-02-12 05:31:16 +0000
commit8563de2f2799b2cb6f2f06e3c9dddd48dca2a986 (patch)
tree47c05fa4d7c824338a0014743b997316c9221706 /bin
parent9e14b918f956c532d0b81c945160bd9bc85c5604 (diff)
Fix bug 253158 - Panic: snapacct_ufs2: bad block - mksnap_ffs(8) crash
The panic reported in 253158 arises because the /mnt/.snap/.factory snapshot allocated the last block in the filesystem. The snapshot code allocates the last block in the filesystem as a way of setting its length to be the size of the filesystem. Part of taking a snapshot is to remove all the earlier snapshots from the image of the newest snapshot so that newer snapshots will not claim the blocks of the earlier snapshots. The panic occurs when the new snapshot finds that both it and an earlier snapshot claim the same block. The fix is to set the size of the snapshot to be one block after the last block in the filesystem. This block can never be allocated since it is not a valid block in the filesystem. This extra block is used as a place to store the initial list of blocks that the snapshot has already copied and is used to avoid a deadlock in and speed up the ffs_copyonwrite() function. Reported by: Harald Schmalzbauer Tested by: Peter Holm PR: 253158 Sponsored by: Netflix
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions