ext4: main fast-commit commit path
This patch adds main fast commit commit path handlers. The overall patch can be divided into two inter-related parts: (A) Metadata updates tracking This part consists of helper functions to track changes that need to be committed during a commit operation. These updates are maintained by Ext4 in different in-memory queues. Following are the APIs and their short description that are implemented in this patch: - ext4_fc_track_link/unlink/creat() - Track unlink. link and creat operations - ext4_fc_track_range() - Track changed logical block offsets inodes - ext4_fc_track_inode() - Track inodes - ext4_fc_mark_ineligible() - Mark file system fast commit ineligible() - ext4_fc_start_update() / ext4_fc_stop_update() / ext4_fc_start_ineligible() / ext4_fc_stop_ineligible() These functions are useful for co-ordinating inode updates with commits. (B) Main commit Path This part consists of functions to convert updates tracked in in-memory data structures into on-disk commits. Function ext4_fc_commit() is the main entry point to commit path. Reported-by:kernel test robot <lkp@intel.com> Signed-off-by:
Harshad Shirwadkar <harshadshirwadkar@gmail.com> Link: https://lore.kernel.org/r/20201015203802.3597742-6-harshadshirwadkar@gmail.com Signed-off-by:
Theodore Ts'o <tytso@mit.edu>
Showing
- fs/ext4/acl.c 2 additions, 0 deletionsfs/ext4/acl.c
- fs/ext4/ext4.h 70 additions, 0 deletionsfs/ext4/ext4.h
- fs/ext4/extents.c 34 additions, 14 deletionsfs/ext4/extents.c
- fs/ext4/fast_commit.c 1183 additions, 0 deletionsfs/ext4/fast_commit.c
- fs/ext4/fast_commit.h 110 additions, 0 deletionsfs/ext4/fast_commit.h
- fs/ext4/file.c 8 additions, 2 deletionsfs/ext4/file.c
- fs/ext4/fsync.c 1 addition, 1 deletionfs/ext4/fsync.c
- fs/ext4/inode.c 44 additions, 8 deletionsfs/ext4/inode.c
- fs/ext4/ioctl.c 15 additions, 1 deletionfs/ext4/ioctl.c
- fs/ext4/namei.c 34 additions, 3 deletionsfs/ext4/namei.c
- fs/ext4/super.c 31 additions, 0 deletionsfs/ext4/super.c
- fs/ext4/xattr.c 3 additions, 0 deletionsfs/ext4/xattr.c
- include/trace/events/ext4.h 172 additions, 0 deletionsinclude/trace/events/ext4.h
Loading
Please register or sign in to comment