mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-18 15:30:21 +00:00
Occationally background fsck would cause a spurious ``freeing free
inode'' panic. This change corrects that problem by setting the fs_active flag when the inode map changes to notify the snapshot code that the cylinder group must be rescanned. Submitted by: Robert Watson <rwatson@FreeBSD.org>
This commit is contained in:
parent
280304eb49
commit
b06051cf7c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=90366
@ -1416,6 +1416,8 @@ ffs_nodealloccg(ip, cg, ipref, mode)
|
||||
fs->fs_cstotal.cs_ndir++;
|
||||
fs->fs_cs(fs, cg).cs_ndir++;
|
||||
}
|
||||
if (fs->fs_active != 0)
|
||||
atomic_clear_int(&ACTIVECGNUM(fs, cg), ACTIVECGOFF(cg));
|
||||
bdwrite(bp);
|
||||
return (cg * fs->fs_ipg + ipref);
|
||||
}
|
||||
@ -1684,6 +1686,8 @@ ffs_freefile(fs, devvp, ino, mode)
|
||||
fs->fs_cs(fs, cg).cs_ndir--;
|
||||
}
|
||||
fs->fs_fmod = 1;
|
||||
if (fs->fs_active != 0)
|
||||
atomic_clear_int(&ACTIVECGNUM(fs, cg), ACTIVECGOFF(cg));
|
||||
bdwrite(bp);
|
||||
return (0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user