Skip to content

flush delalloc by multi-task

Miao Xie linux-btrfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3Btrfs: make delalloc inodes be flushed by multi-taskfs/btrfs/ctree.h fs/btrfs/disk-io.c fs/btrfs/inode.c +2 more+103 -80 replies
2/3Btrfs: make ordered operations be handled by multi-taskfs/btrfs/ordered-data.c fs/btrfs/ordered-data.h fs/btrfs/transaction.c+45 -210 replies
3/3Btrfs: make ordered extent be flushed by multi-taskfs/btrfs/ordered-data.c fs/btrfs/ordered-data.h+37 -90 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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(-)