diff options
author | iedowse <iedowse@FreeBSD.org> | 2001-09-24 18:29:20 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2001-09-24 18:29:20 +0000 |
commit | af5c7958aaff72162d1b27ae42aea72b7f142d4a (patch) | |
tree | cfbd600a42f22b429b72e0eb6a4732cfe57774b9 /sys/gnu | |
parent | 9632452f398340dd2a8ac4c89baf3f52919f0583 (diff) | |
download | FreeBSD-src-af5c7958aaff72162d1b27ae42aea72b7f142d4a.zip FreeBSD-src-af5c7958aaff72162d1b27ae42aea72b7f142d4a.tar.gz |
The addition of i_dirhash to struct inode pushed RELENG_4's
sizeof(struct inode) into a new malloc bucket on the i386. This
didn't happen in -current due to the removal of i_lock, but it does
no harm to apply the workaround to -current first.
Reduce the size of the i_spare[] array in struct inode from 4 to
3 entries, and change ext2fs to use i_din.di_spare[1] so that it
does not need i_spare[3].
Reviewed by: bde
MFC after: 3 days
Diffstat (limited to 'sys/gnu')
-rw-r--r-- | sys/gnu/ext2fs/ext2_fs.h | 4 | ||||
-rw-r--r-- | sys/gnu/ext2fs/inode.h | 2 | ||||
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_fs.h | 4 | ||||
-rw-r--r-- | sys/gnu/fs/ext2fs/inode.h | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/sys/gnu/ext2fs/ext2_fs.h b/sys/gnu/ext2fs/ext2_fs.h index 8d5a56d..c449e21 100644 --- a/sys/gnu/ext2fs/ext2_fs.h +++ b/sys/gnu/ext2fs/ext2_fs.h @@ -48,8 +48,8 @@ #define i_block_group i_spare[0] #define i_next_alloc_block i_spare[1] #define i_next_alloc_goal i_spare[2] -#define i_prealloc_block i_spare[3] -#define i_prealloc_count i_din.di_spare[0] +#define i_prealloc_block i_din.di_spare[0] +#define i_prealloc_count i_din.di_spare[1] /* * The second extended filesystem constants/structures diff --git a/sys/gnu/ext2fs/inode.h b/sys/gnu/ext2fs/inode.h index 968d950..b18f431 100644 --- a/sys/gnu/ext2fs/inode.h +++ b/sys/gnu/ext2fs/inode.h @@ -93,7 +93,7 @@ struct inode { doff_t i_offset; /* Offset of free space in directory. */ ino_t i_ino; /* Inode number of found directory. */ u_int32_t i_reclen; /* Size of found directory entry. */ - u_int32_t i_spare[4]; /* XXX actually non-spare (for ext2fs). */ + u_int32_t i_spare[3]; /* XXX actually non-spare (for ext2fs). */ struct dirhash *i_dirhash; /* Hashing for large directories */ /* diff --git a/sys/gnu/fs/ext2fs/ext2_fs.h b/sys/gnu/fs/ext2fs/ext2_fs.h index 8d5a56d..c449e21 100644 --- a/sys/gnu/fs/ext2fs/ext2_fs.h +++ b/sys/gnu/fs/ext2fs/ext2_fs.h @@ -48,8 +48,8 @@ #define i_block_group i_spare[0] #define i_next_alloc_block i_spare[1] #define i_next_alloc_goal i_spare[2] -#define i_prealloc_block i_spare[3] -#define i_prealloc_count i_din.di_spare[0] +#define i_prealloc_block i_din.di_spare[0] +#define i_prealloc_count i_din.di_spare[1] /* * The second extended filesystem constants/structures diff --git a/sys/gnu/fs/ext2fs/inode.h b/sys/gnu/fs/ext2fs/inode.h index 968d950..b18f431 100644 --- a/sys/gnu/fs/ext2fs/inode.h +++ b/sys/gnu/fs/ext2fs/inode.h @@ -93,7 +93,7 @@ struct inode { doff_t i_offset; /* Offset of free space in directory. */ ino_t i_ino; /* Inode number of found directory. */ u_int32_t i_reclen; /* Size of found directory entry. */ - u_int32_t i_spare[4]; /* XXX actually non-spare (for ext2fs). */ + u_int32_t i_spare[3]; /* XXX actually non-spare (for ext2fs). */ struct dirhash *i_dirhash; /* Hashing for large directories */ /* |