* [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode @ 2022-09-16 8:38 Ye Bin 2022-09-16 8:38 ` [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() Ye Bin ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Ye Bin @ 2022-09-16 8:38 UTC (permalink / raw) To: tytso, adilger.kernel, linux-ext4; +Cc: linux-kernel, jack, Ye Bin diff v2 vs v1: Add detail changelog for patch:"ext4: adjust fast commit disable judgement order in ext4_fc_track_inode". Ye Bin (2): ext4: factor out ext4_fc_disabled() ext4: adjust fast commit disable judgement order in ext4_fc_track_inode fs/ext4/fast_commit.c | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) -- 2.31.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() 2022-09-16 8:38 [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Ye Bin @ 2022-09-16 8:38 ` Ye Bin 2022-09-19 8:47 ` Jan Kara 2022-09-16 8:38 ` [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode Ye Bin 2022-09-30 3:19 ` [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Theodore Ts'o 2 siblings, 1 reply; 6+ messages in thread From: Ye Bin @ 2022-09-16 8:38 UTC (permalink / raw) To: tytso, adilger.kernel, linux-ext4; +Cc: linux-kernel, jack, Ye Bin Factor out ext4_fc_disabled(). No functional change. Signed-off-by: Ye Bin <yebin10@huawei.com> --- fs/ext4/fast_commit.c | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index b7414a5812f6..eadab945b856 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -229,6 +229,12 @@ __releases(&EXT4_SB(inode->i_sb)->s_fc_lock) finish_wait(wq, &wait.wq_entry); } +static bool ext4_fc_disabled(struct super_block *sb) +{ + return (!test_opt2(sb, JOURNAL_FAST_COMMIT) || + (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)); +} + /* * Inform Ext4's fast about start of an inode update * @@ -240,8 +246,7 @@ void ext4_fc_start_update(struct inode *inode) { struct ext4_inode_info *ei = EXT4_I(inode); - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; restart: @@ -265,8 +270,7 @@ void ext4_fc_stop_update(struct inode *inode) { struct ext4_inode_info *ei = EXT4_I(inode); - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; if (atomic_dec_and_test(&ei->i_fc_updates)) @@ -283,8 +287,7 @@ void ext4_fc_del(struct inode *inode) struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); struct ext4_fc_dentry_update *fc_dentry; - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; restart: @@ -337,8 +340,7 @@ void ext4_fc_mark_ineligible(struct super_block *sb, int reason, handle_t *handl struct ext4_sb_info *sbi = EXT4_SB(sb); tid_t tid; - if (!test_opt2(sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(sb)) return; ext4_set_mount_flag(sb, EXT4_MF_FC_INELIGIBLE); @@ -493,10 +495,8 @@ void __ext4_fc_track_unlink(handle_t *handle, void ext4_fc_track_unlink(handle_t *handle, struct dentry *dentry) { struct inode *inode = d_inode(dentry); - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -522,10 +522,8 @@ void __ext4_fc_track_link(handle_t *handle, void ext4_fc_track_link(handle_t *handle, struct dentry *dentry) { struct inode *inode = d_inode(dentry); - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -551,10 +549,8 @@ void __ext4_fc_track_create(handle_t *handle, struct inode *inode, void ext4_fc_track_create(handle_t *handle, struct dentry *dentry) { struct inode *inode = d_inode(dentry); - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -576,7 +572,6 @@ static int __track_inode(struct inode *inode, void *arg, bool update) void ext4_fc_track_inode(handle_t *handle, struct inode *inode) { - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); int ret; if (S_ISDIR(inode->i_mode)) @@ -588,8 +583,7 @@ void ext4_fc_track_inode(handle_t *handle, struct inode *inode) return; } - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -634,15 +628,13 @@ static int __track_range(struct inode *inode, void *arg, bool update) void ext4_fc_track_range(handle_t *handle, struct inode *inode, ext4_lblk_t start, ext4_lblk_t end) { - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); struct __track_range_args args; int ret; if (S_ISDIR(inode->i_mode)) return; - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() 2022-09-16 8:38 ` [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() Ye Bin @ 2022-09-19 8:47 ` Jan Kara 0 siblings, 0 replies; 6+ messages in thread From: Jan Kara @ 2022-09-19 8:47 UTC (permalink / raw) To: Ye Bin; +Cc: tytso, adilger.kernel, linux-ext4, linux-kernel, jack On Fri 16-09-22 16:38:35, Ye Bin wrote: > Factor out ext4_fc_disabled(). No functional change. > > Signed-off-by: Ye Bin <yebin10@huawei.com> Looks nice. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext4/fast_commit.c | 38 +++++++++++++++----------------------- > 1 file changed, 15 insertions(+), 23 deletions(-) > > diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c > index b7414a5812f6..eadab945b856 100644 > --- a/fs/ext4/fast_commit.c > +++ b/fs/ext4/fast_commit.c > @@ -229,6 +229,12 @@ __releases(&EXT4_SB(inode->i_sb)->s_fc_lock) > finish_wait(wq, &wait.wq_entry); > } > > +static bool ext4_fc_disabled(struct super_block *sb) > +{ > + return (!test_opt2(sb, JOURNAL_FAST_COMMIT) || > + (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)); > +} > + > /* > * Inform Ext4's fast about start of an inode update > * > @@ -240,8 +246,7 @@ void ext4_fc_start_update(struct inode *inode) > { > struct ext4_inode_info *ei = EXT4_I(inode); > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > restart: > @@ -265,8 +270,7 @@ void ext4_fc_stop_update(struct inode *inode) > { > struct ext4_inode_info *ei = EXT4_I(inode); > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > if (atomic_dec_and_test(&ei->i_fc_updates)) > @@ -283,8 +287,7 @@ void ext4_fc_del(struct inode *inode) > struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); > struct ext4_fc_dentry_update *fc_dentry; > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > restart: > @@ -337,8 +340,7 @@ void ext4_fc_mark_ineligible(struct super_block *sb, int reason, handle_t *handl > struct ext4_sb_info *sbi = EXT4_SB(sb); > tid_t tid; > > - if (!test_opt2(sb, JOURNAL_FAST_COMMIT) || > - (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(sb)) > return; > > ext4_set_mount_flag(sb, EXT4_MF_FC_INELIGIBLE); > @@ -493,10 +495,8 @@ void __ext4_fc_track_unlink(handle_t *handle, > void ext4_fc_track_unlink(handle_t *handle, struct dentry *dentry) > { > struct inode *inode = d_inode(dentry); > - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (sbi->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) > @@ -522,10 +522,8 @@ void __ext4_fc_track_link(handle_t *handle, > void ext4_fc_track_link(handle_t *handle, struct dentry *dentry) > { > struct inode *inode = d_inode(dentry); > - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (sbi->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) > @@ -551,10 +549,8 @@ void __ext4_fc_track_create(handle_t *handle, struct inode *inode, > void ext4_fc_track_create(handle_t *handle, struct dentry *dentry) > { > struct inode *inode = d_inode(dentry); > - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (sbi->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) > @@ -576,7 +572,6 @@ static int __track_inode(struct inode *inode, void *arg, bool update) > > void ext4_fc_track_inode(handle_t *handle, struct inode *inode) > { > - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); > int ret; > > if (S_ISDIR(inode->i_mode)) > @@ -588,8 +583,7 @@ void ext4_fc_track_inode(handle_t *handle, struct inode *inode) > return; > } > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (sbi->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) > @@ -634,15 +628,13 @@ static int __track_range(struct inode *inode, void *arg, bool update) > void ext4_fc_track_range(handle_t *handle, struct inode *inode, ext4_lblk_t start, > ext4_lblk_t end) > { > - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); > struct __track_range_args args; > int ret; > > if (S_ISDIR(inode->i_mode)) > return; > > - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || > - (sbi->s_mount_state & EXT4_FC_REPLAY)) > + if (ext4_fc_disabled(inode->i_sb)) > return; > > if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) > -- > 2.31.1 > -- Jan Kara <jack@suse.com> SUSE Labs, CR ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode 2022-09-16 8:38 [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Ye Bin 2022-09-16 8:38 ` [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() Ye Bin @ 2022-09-16 8:38 ` Ye Bin 2022-09-19 8:47 ` Jan Kara 2022-09-30 3:19 ` [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Theodore Ts'o 2 siblings, 1 reply; 6+ messages in thread From: Ye Bin @ 2022-09-16 8:38 UTC (permalink / raw) To: tytso, adilger.kernel, linux-ext4; +Cc: linux-kernel, jack, Ye Bin If fastcommit is already disabled, there isn't need to mark inode ineligible. So move 'ext4_fc_disabled()' judgement bofore 'ext4_should_journal_data(inode)' judgement which can avoid to do meaningless judgement. Signed-off-by: Ye Bin <yebin10@huawei.com> --- fs/ext4/fast_commit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index eadab945b856..9217a588afd1 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -577,15 +577,15 @@ void ext4_fc_track_inode(handle_t *handle, struct inode *inode) if (S_ISDIR(inode->i_mode)) return; + if (ext4_fc_disabled(inode->i_sb)) + return; + if (ext4_should_journal_data(inode)) { ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_INODE_JOURNAL_DATA, handle); return; } - if (ext4_fc_disabled(inode->i_sb)) - return; - if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) return; -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode 2022-09-16 8:38 ` [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode Ye Bin @ 2022-09-19 8:47 ` Jan Kara 0 siblings, 0 replies; 6+ messages in thread From: Jan Kara @ 2022-09-19 8:47 UTC (permalink / raw) To: Ye Bin; +Cc: tytso, adilger.kernel, linux-ext4, linux-kernel, jack On Fri 16-09-22 16:38:36, Ye Bin wrote: > If fastcommit is already disabled, there isn't need to mark inode ineligible. > So move 'ext4_fc_disabled()' judgement bofore 'ext4_should_journal_data(inode)' > judgement which can avoid to do meaningless judgement. > > Signed-off-by: Ye Bin <yebin10@huawei.com> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext4/fast_commit.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c > index eadab945b856..9217a588afd1 100644 > --- a/fs/ext4/fast_commit.c > +++ b/fs/ext4/fast_commit.c > @@ -577,15 +577,15 @@ void ext4_fc_track_inode(handle_t *handle, struct inode *inode) > if (S_ISDIR(inode->i_mode)) > return; > > + if (ext4_fc_disabled(inode->i_sb)) > + return; > + > if (ext4_should_journal_data(inode)) { > ext4_fc_mark_ineligible(inode->i_sb, > EXT4_FC_REASON_INODE_JOURNAL_DATA, handle); > return; > } > > - if (ext4_fc_disabled(inode->i_sb)) > - return; > - > if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) > return; > > -- > 2.31.1 > -- Jan Kara <jack@suse.com> SUSE Labs, CR ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode 2022-09-16 8:38 [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Ye Bin 2022-09-16 8:38 ` [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() Ye Bin 2022-09-16 8:38 ` [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode Ye Bin @ 2022-09-30 3:19 ` Theodore Ts'o 2 siblings, 0 replies; 6+ messages in thread From: Theodore Ts'o @ 2022-09-30 3:19 UTC (permalink / raw) To: adilger.kernel, linux-ext4, yebin10; +Cc: Theodore Ts'o, linux-kernel, jack On Fri, 16 Sep 2022 16:38:34 +0800, Ye Bin wrote: > diff v2 vs v1: > Add detail changelog for patch:"ext4: adjust fast commit disable judgement > order in ext4_fc_track_inode". > > Ye Bin (2): > ext4: factor out ext4_fc_disabled() > ext4: adjust fast commit disable judgement order in > ext4_fc_track_inode > > [...] Applied, thanks! [1/2] ext4: factor out ext4_fc_disabled() commit: 4396ba8a73535e95ec16aedb9ef7a3cecdf385b4 [2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode commit: 79329f86d0e4dfc192579ed08039b89e6e8d4211 Best regards, -- Theodore Ts'o <tytso@mit.edu> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-09-30 3:21 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-09-16 8:38 [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Ye Bin 2022-09-16 8:38 ` [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() Ye Bin 2022-09-19 8:47 ` Jan Kara 2022-09-16 8:38 ` [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode Ye Bin 2022-09-19 8:47 ` Jan Kara 2022-09-30 3:19 ` [PATCH -next v2 0/2] some refactor of ext4_fc_track_inode Theodore Ts'o
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.