summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2001-09-24 18:29:20 +0000
committeriedowse <iedowse@FreeBSD.org>2001-09-24 18:29:20 +0000
commitaf5c7958aaff72162d1b27ae42aea72b7f142d4a (patch)
treecfbd600a42f22b429b72e0eb6a4732cfe57774b9 /sys/gnu
parent9632452f398340dd2a8ac4c89baf3f52919f0583 (diff)
downloadFreeBSD-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.h4
-rw-r--r--sys/gnu/ext2fs/inode.h2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_fs.h4
-rw-r--r--sys/gnu/fs/ext2fs/inode.h2
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 */
/*
OpenPOWER on IntegriCloud