aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2011-01-10 12:13:42 -0500
committerTheodore Ts'o <tytso@mit.edu>2011-01-10 12:13:42 -0500
commit8a2005d3f84457b7d7d8646ab5195341d9e5f06a (patch)
tree4d94161103e806435745e1544fb24e6398b2e06b
parentb05e6ae58a13b56e3e11882c1fc71948c9b29760 (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.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 {
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