From 9702cd04220bc0ac845bdeda10bbefe6edcc28a1 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Tue, 29 Sep 1998 08:07:32 +0000 Subject: Fixed initialization of new inodes. ext2fs doesn't clear inodes when they are deleted, so inodes must be cleared when they are reused, but we didn't clear the indirect blocks. This caused serious filesystem corruption. --- sys/gnu/fs/ext2fs/ext2_alloc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys/gnu/fs/ext2fs/ext2_alloc.c') diff --git a/sys/gnu/fs/ext2fs/ext2_alloc.c b/sys/gnu/fs/ext2fs/ext2_alloc.c index c47f597c306d..21b9165542b6 100644 --- a/sys/gnu/fs/ext2fs/ext2_alloc.c +++ b/sys/gnu/fs/ext2fs/ext2_alloc.c @@ -416,8 +416,10 @@ ext2_valloc(pvp, mode, cred, vpp) ip->i_blocks = 0; ip->i_flags = 0; /* now we want to make sure that the block pointers are zeroed out */ - for(i = 0; i < EXT2_NDIR_BLOCKS; i++) + for (i = 0; i < NDADDR; i++) ip->i_db[i] = 0; + for (i = 0; i < NIADDR; i++) + ip->i_ib[i] = 0; /* * Set up a new generation number for this inode. -- cgit v1.3