diff options
author | Theodore Ts'o <tytso@mit.edu> | 2011-01-10 12:13:42 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2011-01-10 12:13:42 -0500 |
commit | 8a2005d3f84457b7d7d8646ab5195341d9e5f06a (patch) | |
tree | 4d94161103e806435745e1544fb24e6398b2e06b | |
parent | b05e6ae58a13b56e3e11882c1fc71948c9b29760 (diff) |
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>
-rw-r--r-- | fs/ext4/ext4.h | 7 |
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 { | |||
763 | * near to their parent directory's inode. | 763 | * near to their parent directory's inode. |
764 | */ | 764 | */ |
765 | ext4_group_t i_block_group; | 765 | ext4_group_t i_block_group; |
766 | ext4_lblk_t i_dir_start_lookup; | ||
766 | unsigned long i_state_flags; /* Dynamic state flags */ | 767 | unsigned long i_state_flags; /* Dynamic state flags */ |
767 | unsigned long i_flags; | 768 | unsigned long i_flags; |
768 | 769 | ||
769 | ext4_lblk_t i_dir_start_lookup; | ||
770 | #ifdef CONFIG_EXT4_FS_XATTR | 770 | #ifdef CONFIG_EXT4_FS_XATTR |
771 | /* | 771 | /* |
772 | * Extended attributes can be read independently of the main file | 772 | * Extended attributes can be read independently of the main file |
@@ -835,7 +835,6 @@ struct ext4_inode_info { | |||
835 | /* on-disk additional length */ | 835 | /* on-disk additional length */ |
836 | __u16 i_extra_isize; | 836 | __u16 i_extra_isize; |
837 | 837 | ||
838 | spinlock_t i_block_reservation_lock; | ||
839 | #ifdef CONFIG_QUOTA | 838 | #ifdef CONFIG_QUOTA |
840 | /* quota space reservation, managed internally by quota code */ | 839 | /* quota space reservation, managed internally by quota code */ |
841 | qsize_t i_reserved_quota; | 840 | qsize_t i_reserved_quota; |
@@ -844,9 +843,11 @@ struct ext4_inode_info { | |||
844 | /* completed IOs that might need unwritten extents handling */ | 843 | /* completed IOs that might need unwritten extents handling */ |
845 | struct list_head i_completed_io_list; | 844 | struct list_head i_completed_io_list; |
846 | spinlock_t i_completed_io_lock; | 845 | spinlock_t i_completed_io_lock; |
846 | atomic_t i_ioend_count; /* Number of outstanding io_end structs */ | ||
847 | /* current io_end structure for async DIO write*/ | 847 | /* current io_end structure for async DIO write*/ |
848 | ext4_io_end_t *cur_aio_dio; | 848 | ext4_io_end_t *cur_aio_dio; |
849 | atomic_t i_ioend_count; /* Number of outstanding io_end structs */ | 849 | |
850 | spinlock_t i_block_reservation_lock; | ||
850 | 851 | ||
851 | /* | 852 | /* |
852 | * Transactions that contain inode's metadata needed to complete | 853 | * Transactions that contain inode's metadata needed to complete |