Fixed corruption of the per-group used directories count. It wasn't

decremented when directories were removed because rev.1.12 broke the
fixup of the i_mode of the inode being removed.
This commit is contained in:
bde 1997-12-03 16:46:21 +00:00
parent 309ca63e64
commit d7e47cf495
2 changed files with 8 additions and 6 deletions

View File

@ -515,6 +515,7 @@ ext2_vfree(pvp, ino, mode)
{
register struct ext2_sb_info *fs;
register struct inode *pip;
register mode_t save_i_mode;
pip = VTOI(pvp);
fs = pip->i_e2fs;
@ -531,10 +532,10 @@ ext2_vfree(pvp, ino, mode)
really like to know what the rationale behind this
'set i_mode to zero to denote an unused inode' is
*/
mode = pip->i_mode;
pip->i_mode = mode;
ext2_free_inode(pip);
save_i_mode = pip->i_mode;
pip->i_mode = mode;
ext2_free_inode(pip);
pip->i_mode = save_i_mode;
return (0);
}

View File

@ -515,6 +515,7 @@ ext2_vfree(pvp, ino, mode)
{
register struct ext2_sb_info *fs;
register struct inode *pip;
register mode_t save_i_mode;
pip = VTOI(pvp);
fs = pip->i_e2fs;
@ -531,10 +532,10 @@ ext2_vfree(pvp, ino, mode)
really like to know what the rationale behind this
'set i_mode to zero to denote an unused inode' is
*/
mode = pip->i_mode;
pip->i_mode = mode;
ext2_free_inode(pip);
save_i_mode = pip->i_mode;
pip->i_mode = mode;
ext2_free_inode(pip);
pip->i_mode = save_i_mode;
return (0);
}