flush delalloc by multi-task
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 6 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | Btrfs: make delalloc inodes be flushed by multi-taskfs/ fs/ fs/ +2 more | +103 | 0 replies | |
| 2/3 | Btrfs: make ordered operations be handled by multi-taskfs/ fs/ fs/ | +45 | 0 replies | |
| 3/3 | Btrfs: make ordered extent be flushed by multi-taskfs/ fs/ | +37 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/3] flush delalloc by multi-task
This patchset introduce multi-task delalloc flush, it can make the delalloc flush more faster. And besides that, it also can fix the problem that we join the same transaction handler more than 2 times.
Implementation:
- Create a new worker pool.
- Queue the inode with pending delalloc into the work queue of the worker pool when we want to force them into the disk, and then we will wait till all the works we submit are done.
- The ordered extents also can be queued into this work queue. The process is similar to the second one.
Miao Xie (3):
Btrfs: make delalloc inodes be flushed by multi-task
Btrfs: make ordered operations be handled by multi-task
Btrfs: make ordered extent be flushed by multi-task
fs/btrfs/ctree.h | 14 +++++++ fs/btrfs/disk-io.c | 7 ++++ fs/btrfs/inode.c | 78 ++++++++++++++++++++++++++++++++++++++--- fs/btrfs/ordered-data.c | 87 ++++++++++++++++++++++++++++++++++------------- fs/btrfs/ordered-data.h | 7 +++- fs/btrfs/relocation.c | 6 +++- fs/btrfs/transaction.c | 24 ++++++++++--- 7 files changed, 185 insertions(+), 38 deletions(-)