Commit 8a2005d3 authored by Theodore Ts'o's avatar Theodore Ts'o

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: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent b05e6ae5
...@@ -763,10 +763,10 @@ struct ext4_inode_info { ...@@ -763,10 +763,10 @@ struct ext4_inode_info {
* near to their parent directory's inode. * near to their parent directory's inode.
*/ */
ext4_group_t i_block_group; ext4_group_t i_block_group;
ext4_lblk_t i_dir_start_lookup;
unsigned long i_state_flags; /* Dynamic state flags */ unsigned long i_state_flags; /* Dynamic state flags */
unsigned long i_flags; unsigned long i_flags;
ext4_lblk_t i_dir_start_lookup;
#ifdef CONFIG_EXT4_FS_XATTR #ifdef CONFIG_EXT4_FS_XATTR
/* /*
* Extended attributes can be read independently of the main file * Extended attributes can be read independently of the main file
...@@ -835,7 +835,6 @@ struct ext4_inode_info { ...@@ -835,7 +835,6 @@ struct ext4_inode_info {
/* on-disk additional length */ /* on-disk additional length */
__u16 i_extra_isize; __u16 i_extra_isize;
spinlock_t i_block_reservation_lock;
#ifdef CONFIG_QUOTA #ifdef CONFIG_QUOTA
/* quota space reservation, managed internally by quota code */ /* quota space reservation, managed internally by quota code */
qsize_t i_reserved_quota; qsize_t i_reserved_quota;
...@@ -844,9 +843,11 @@ struct ext4_inode_info { ...@@ -844,9 +843,11 @@ struct ext4_inode_info {
/* completed IOs that might need unwritten extents handling */ /* completed IOs that might need unwritten extents handling */
struct list_head i_completed_io_list; struct list_head i_completed_io_list;
spinlock_t i_completed_io_lock; 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*/ /* current io_end structure for async DIO write*/
ext4_io_end_t *cur_aio_dio; 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 * Transactions that contain inode's metadata needed to complete
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment