diff options
author | Harshad Shirwadkar <harshadshirwadkar@gmail.com> | 2020-11-06 06:59:07 +0300 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2020-11-07 07:01:05 +0300 |
commit | 556e0319fbb8eee3fa19fdcc27c8bcb4af1c7211 (patch) | |
tree | 67ca0964cf42dd65efd1fab7c5ed95981a0eee39 /fs/ext4/fast_commit.c | |
parent | 1ceecb537f72734e4315638e7a1bb62e56c86fbf (diff) | |
download | linux-556e0319fbb8eee3fa19fdcc27c8bcb4af1c7211.tar.xz |
ext4: disable fast commit with data journalling
Fast commits don't work with data journalling. This patch disables the
fast commit support when data journalling is turned on.
Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20201106035911.1942128-19-harshadshirwadkar@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/fast_commit.c')
-rw-r--r-- | fs/ext4/fast_commit.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index 6b963e09af2c..fb9b4e9d82b2 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -483,6 +483,12 @@ void ext4_fc_track_inode(handle_t *handle, struct inode *inode) if (S_ISDIR(inode->i_mode)) return; + if (ext4_should_journal_data(inode)) { + ext4_fc_mark_ineligible(inode->i_sb, + EXT4_FC_REASON_INODE_JOURNAL_DATA); + return; + } + ret = ext4_fc_track_template(handle, inode, __track_inode, NULL, 1); trace_ext4_fc_track_inode(inode, ret); } @@ -2102,6 +2108,7 @@ const char *fc_ineligible_reasons[] = { "Resize", "Dir renamed", "Falloc range op", + "Data journalling", "FC Commit Failed" }; |