Commit aa75f4d
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>1 parent ff780b9 commit aa75f4d
13 files changed
+1707
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
| 245 | + | |
245 | 246 | | |
246 | 247 | | |
247 | 248 | | |
| |||
259 | 260 | | |
260 | 261 | | |
261 | 262 | | |
| 263 | + | |
262 | 264 | | |
263 | 265 | | |
264 | 266 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1021 | 1021 | | |
1022 | 1022 | | |
1023 | 1023 | | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
1024 | 1049 | | |
1025 | 1050 | | |
1026 | 1051 | | |
| |||
1141 | 1166 | | |
1142 | 1167 | | |
1143 | 1168 | | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
1144 | 1173 | | |
1145 | 1174 | | |
1146 | 1175 | | |
| |||
1613 | 1642 | | |
1614 | 1643 | | |
1615 | 1644 | | |
| 1645 | + | |
| 1646 | + | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
| 1651 | + | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
| 1655 | + | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + | |
| 1659 | + | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
1616 | 1669 | | |
1617 | 1670 | | |
1618 | 1671 | | |
| |||
1723 | 1776 | | |
1724 | 1777 | | |
1725 | 1778 | | |
| 1779 | + | |
1726 | 1780 | | |
1727 | 1781 | | |
1728 | 1782 | | |
| |||
2682 | 2736 | | |
2683 | 2737 | | |
2684 | 2738 | | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
| 2750 | + | |
| 2751 | + | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
2685 | 2755 | | |
2686 | 2756 | | |
2687 | 2757 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3723 | 3723 | | |
3724 | 3724 | | |
3725 | 3725 | | |
| 3726 | + | |
3726 | 3727 | | |
3727 | 3728 | | |
3728 | 3729 | | |
| |||
3794 | 3795 | | |
3795 | 3796 | | |
3796 | 3797 | | |
| 3798 | + | |
3797 | 3799 | | |
3798 | 3800 | | |
3799 | 3801 | | |
| |||
4327 | 4329 | | |
4328 | 4330 | | |
4329 | 4331 | | |
4330 | | - | |
| 4332 | + | |
4331 | 4333 | | |
4332 | 4334 | | |
4333 | 4335 | | |
| |||
4600 | 4602 | | |
4601 | 4603 | | |
4602 | 4604 | | |
4603 | | - | |
| 4605 | + | |
| 4606 | + | |
4604 | 4607 | | |
4605 | 4608 | | |
4606 | 4609 | | |
| |||
4648 | 4651 | | |
4649 | 4652 | | |
4650 | 4653 | | |
| 4654 | + | |
| 4655 | + | |
4651 | 4656 | | |
4652 | | - | |
4653 | | - | |
| 4657 | + | |
| 4658 | + | |
| 4659 | + | |
| 4660 | + | |
| 4661 | + | |
| 4662 | + | |
4654 | 4663 | | |
4655 | 4664 | | |
4656 | 4665 | | |
4657 | | - | |
| 4666 | + | |
4658 | 4667 | | |
4659 | | - | |
4660 | | - | |
4661 | | - | |
4662 | | - | |
4663 | | - | |
| 4668 | + | |
| 4669 | + | |
| 4670 | + | |
| 4671 | + | |
4664 | 4672 | | |
4665 | | - | |
4666 | | - | |
| 4673 | + | |
| 4674 | + | |
| 4675 | + | |
| 4676 | + | |
4667 | 4677 | | |
| 4678 | + | |
| 4679 | + | |
| 4680 | + | |
| 4681 | + | |
4668 | 4682 | | |
4669 | 4683 | | |
4670 | 4684 | | |
| |||
4698 | 4712 | | |
4699 | 4713 | | |
4700 | 4714 | | |
4701 | | - | |
4702 | | - | |
| 4715 | + | |
| 4716 | + | |
4703 | 4717 | | |
4704 | 4718 | | |
4705 | 4719 | | |
4706 | 4720 | | |
| 4721 | + | |
| 4722 | + | |
4707 | 4723 | | |
4708 | 4724 | | |
4709 | 4725 | | |
| |||
5291 | 5307 | | |
5292 | 5308 | | |
5293 | 5309 | | |
| 5310 | + | |
5294 | 5311 | | |
5295 | 5312 | | |
5296 | 5313 | | |
| |||
5329 | 5346 | | |
5330 | 5347 | | |
5331 | 5348 | | |
| 5349 | + | |
5332 | 5350 | | |
5333 | 5351 | | |
5334 | 5352 | | |
| |||
5429 | 5447 | | |
5430 | 5448 | | |
5431 | 5449 | | |
| 5450 | + | |
5432 | 5451 | | |
5433 | 5452 | | |
5434 | 5453 | | |
| |||
5503 | 5522 | | |
5504 | 5523 | | |
5505 | 5524 | | |
| 5525 | + | |
5506 | 5526 | | |
5507 | 5527 | | |
5508 | 5528 | | |
| |||
0 commit comments