summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorTheodore Ts'o2011-01-10 18:13:42 +0100
committerTheodore Ts'o2011-01-10 18:13:42 +0100
commit8a2005d3f84457b7d7d8646ab5195341d9e5f06a (patch)
tree4d94161103e806435745e1544fb24e6398b2e06b /fs/ext4
parentext4: drop ec_type from the ext4_ext_cache structure (diff)
downloadkernel-qcow2-linux-8a2005d3f84457b7d7d8646ab5195341d9e5f06a.tar.gz
kernel-qcow2-linux-8a2005d3f84457b7d7d8646ab5195341d9e5f06a.tar.xz
kernel-qcow2-linux-8a2005d3f84457b7d7d8646ab5195341d9e5f06a.zip
ext4: reorder ext4_inode_info structure elements to remove unneeded padding
By reordering the elements in the ext4_inode_info structure, we can reduce the padding needed on an x86_64 system by 16 bytes. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/ext4.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index de937fc10503..50e3d24483fb 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -763,10 +763,10 @@ struct ext4_inode_info {
* near to their parent directory's inode.
*/
ext4_group_t i_block_group;
+ ext4_lblk_t i_dir_start_lookup;
unsigned long i_state_flags; /* Dynamic state flags */
unsigned long i_flags;
- ext4_lblk_t i_dir_start_lookup;
#ifdef CONFIG_EXT4_FS_XATTR
/*
* Extended attributes can be read independently of the main file
@@ -835,7 +835,6 @@ struct ext4_inode_info {
/* on-disk additional length */
__u16 i_extra_isize;
- spinlock_t i_block_reservation_lock;
#ifdef CONFIG_QUOTA
/* quota space reservation, managed internally by quota code */
qsize_t i_reserved_quota;
@@ -844,9 +843,11 @@ struct ext4_inode_info {
/* completed IOs that might need unwritten extents handling */
struct list_head i_completed_io_list;
spinlock_t i_completed_io_lock;
+ atomic_t i_ioend_count; /* Number of outstanding io_end structs */
/* current io_end structure for async DIO write*/
ext4_io_end_t *cur_aio_dio;
- atomic_t i_ioend_count; /* Number of outstanding io_end structs */
+
+ spinlock_t i_block_reservation_lock;
/*
* Transactions that contain inode's metadata needed to complete