Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -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 {
	/* 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 {
	/* 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