Commit 2ed634c9 authored by Christian Brauner's avatar Christian Brauner
Browse files

fs: reorder i_state bits

so that we can use the first bits to derive unique addresses from
i_state.

Link: https://lore.kernel.org/r/20240823-work-i_state-v3-2-5cd5fd207a57@kernel.org


Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent da18ecbf
Loading
Loading
Loading
Loading
+21 −17
Original line number Diff line number Diff line
@@ -2410,28 +2410,32 @@ static inline void kiocb_clone(struct kiocb *kiocb, struct kiocb *kiocb_src,
 *			i_count.
 *
 * Q: What is the difference between I_WILL_FREE and I_FREEING?
 *
 * __I_{SYNC,NEW,LRU_ISOLATING} are used to derive unique addresses to wait
 * upon. There's one free address left.
 */
#define I_DIRTY_SYNC		(1 << 0)
#define I_DIRTY_DATASYNC	(1 << 1)
#define I_DIRTY_PAGES		(1 << 2)
#define __I_NEW			3
#define __I_NEW			0
#define I_NEW			(1 << __I_NEW)
#define I_WILL_FREE		(1 << 4)
#define I_FREEING		(1 << 5)
#define I_CLEAR			(1 << 6)
#define __I_SYNC		7
#define __I_SYNC		1
#define I_SYNC			(1 << __I_SYNC)
#define I_REFERENCED		(1 << 8)
#define __I_LRU_ISOLATING	2
#define I_LRU_ISOLATING		(1 << __I_LRU_ISOLATING)

#define I_DIRTY_SYNC		(1 << 3)
#define I_DIRTY_DATASYNC	(1 << 4)
#define I_DIRTY_PAGES		(1 << 5)
#define I_WILL_FREE		(1 << 6)
#define I_FREEING		(1 << 7)
#define I_CLEAR			(1 << 8)
#define I_REFERENCED		(1 << 9)
#define I_LINKABLE		(1 << 10)
#define I_DIRTY_TIME		(1 << 11)
#define I_WB_SWITCH		(1 << 13)
#define I_OVL_INUSE		(1 << 14)
#define I_CREATING		(1 << 15)
#define I_DONTCACHE		(1 << 16)
#define I_SYNC_QUEUED		(1 << 17)
#define I_PINNING_NETFS_WB	(1 << 18)
#define __I_LRU_ISOLATING	19
#define I_LRU_ISOLATING		(1 << __I_LRU_ISOLATING)
#define I_WB_SWITCH		(1 << 12)
#define I_OVL_INUSE		(1 << 13)
#define I_CREATING		(1 << 14)
#define I_DONTCACHE		(1 << 15)
#define I_SYNC_QUEUED		(1 << 16)
#define I_PINNING_NETFS_WB	(1 << 17)

#define I_DIRTY_INODE (I_DIRTY_SYNC | I_DIRTY_DATASYNC)
#define I_DIRTY (I_DIRTY_INODE | I_DIRTY_PAGES)