Message ID | cover.1634115580.git.fdmanana@suse.com (mailing list archive) |
---|---|
Headers | show |
Series | btrfs: fix a deadlock between chunk allocation and chunk tree modifications | expand |
On Wed, Oct 13, 2021 at 10:12:48AM +0100, fdmanana@kernel.org wrote: > From: Filipe Manana <fdmanana@suse.com> > > This fixes a deadlock between a task allocating a metadata or data chunk > and a task that is modifying the chunk btree and it's not in a chunk > allocation or removal context. The first patch is the fix, the second one > just updates a couple comments and it's independent of the fix. > > v2: Updated stale comment after the fix (patch 1/2). > > v3: Moved the logic to reserve chunk space out of btrfs_search_slot() into > every path that modifies the chunk btree (which are the cases listed in > the change log of patch 1/2) and updated two more comments in patch 1/2. Added to misc-next, thanks.
From: Filipe Manana <fdmanana@suse.com> This fixes a deadlock between a task allocating a metadata or data chunk and a task that is modifying the chunk btree and it's not in a chunk allocation or removal context. The first patch is the fix, the second one just updates a couple comments and it's independent of the fix. v2: Updated stale comment after the fix (patch 1/2). v3: Moved the logic to reserve chunk space out of btrfs_search_slot() into every path that modifies the chunk btree (which are the cases listed in the change log of patch 1/2) and updated two more comments in patch 1/2. Filipe Manana (2): btrfs: fix deadlock between chunk allocation and chunk btree modifications btrfs: update comments for chunk allocation -ENOSPC cases fs/btrfs/block-group.c | 166 +++++++++++++++++++++++++++-------------- fs/btrfs/block-group.h | 2 + fs/btrfs/relocation.c | 4 + fs/btrfs/volumes.c | 15 +++- 4 files changed, 128 insertions(+), 59 deletions(-)