Skip to content

btrfs: qgroup rescan races (part 1)

[email protected] linux-btrfs 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest3 patches 14 repliesIn review
  2. v13 patches 19 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3btrfs: qgroups, fix rescan worker running racesfs/btrfs/ctree.h fs/btrfs/qgroup.c+58 -387 replies
2/3btrfs: qgroups, remove unnecessary memset before btrfs_init_workfs/btrfs/async-thread.c fs/btrfs/qgroup.c+1 -30 replies
3/3btrfs: qgroup, don't try to insert status item after ENOMEM in rescan workerfs/btrfs/qgroup.c+4 -50 replies

Reviews trailers per patch

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

Read the v3 thread

Cover letter [PATCH v3 0/3] btrfs: qgroup rescan races (part 1)

From: Jeff Mahoney <[email protected]>

Hi Dave -

Here's the updated patchset for the rescan races. This fixes the issue where we'd try to start multiple workers. It introduces a new "ready" bool that we set during initialization and clear while queuing the worker. The queuer is also now responsible for most of the initialization.

I have a separate patch set start that gets rid of the racy mess surrounding the rescan worker startup. We can handle it in btrfs_run_qgroups and just set a flag to start it everywhere else.

-Jeff

---

Jeff Mahoney (3):
btrfs: qgroups, fix rescan worker running races
btrfs: qgroups, remove unnecessary memset before btrfs_init_work
btrfs: qgroup, don't try to insert status item after ENOMEM in rescan
worker

 fs/btrfs/async-thread.c |   1 +
 fs/btrfs/ctree.h        |   2 +
 fs/btrfs/qgroup.c       | 100 +++++++++++++++++++++++++++---------------------
 3 files changed, 60 insertions(+), 43 deletions(-)
Signature · 1 line
2.12.3