linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Qgroup fix for dirty hack routines
@ 2016-08-09  8:30 Qu Wenruo
  2016-08-09  8:30 ` [PATCH v3 1/3] btrfs: qgroup: Refactor btrfs_qgroup_insert_dirty_extent() Qu Wenruo
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Qu Wenruo @ 2016-08-09  8:30 UTC (permalink / raw)
  To: linux-btrfs

This patchset introduce 2 fixes for data extent owner hacks.

One can be triggered by balance, another one can be trigged by log replay
after power loss.

Root cause are all similar: EXTENT_DATA owner is changed by dirty
hacks, from swapping tree blocks containing EXTENT_DATA to manually
update extent backref without using inc/dec_extent_ref.

The first patch introduces needed functions, then 2 fixes.

The reproducer are all merged into xfstests, btrfs/123 and btrfs/119.

3rd patch stay untouched while 2nd patch get update thanks for the report
from Goldwyn.

Changelog:
v2:
  Update 2nd patch to handle cases where the whole subtree, not only
  level 2 nodes get updated.
v3:
  Function name update. Thanks Goldwyn.
  Rename 'btrfs_qgroup_insert_dirty_extent()' to
  'btrfs_qgroup_insert_dirty_extent_nolock()'
  Rename 'btrfs_qgroup_record_dirty_extent()' to
  'btrfs_qgroup_insert_dirty_extent()'


Qu Wenruo (3):
  btrfs: qgroup: Refactor btrfs_qgroup_insert_dirty_extent()
  btrfs: relocation: Fix leaking qgroups numbers on data extents
  btrfs: qgroup: Fix qgroup incorrectness caused by log replay

 fs/btrfs/delayed-ref.c |   7 +--
 fs/btrfs/extent-tree.c |  37 +++-------------
 fs/btrfs/qgroup.c      |  41 +++++++++++++++---
 fs/btrfs/qgroup.h      |  33 ++++++++++++--
 fs/btrfs/relocation.c  | 114 ++++++++++++++++++++++++++++++++++++++++++++++---
 fs/btrfs/tree-log.c    |  16 +++++++
 6 files changed, 195 insertions(+), 53 deletions(-)

-- 
2.9.2




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-08-15  2:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-09  8:30 [PATCH v2 0/3] Qgroup fix for dirty hack routines Qu Wenruo
2016-08-09  8:30 ` [PATCH v3 1/3] btrfs: qgroup: Refactor btrfs_qgroup_insert_dirty_extent() Qu Wenruo
2016-08-09 13:21   ` Goldwyn Rodrigues
2016-08-09  8:30 ` [PATCH v3 2/3] btrfs: relocation: Fix leaking qgroups numbers on data extents Qu Wenruo
2016-08-09 13:21   ` Goldwyn Rodrigues
2016-08-12 13:33   ` Filipe Manana
2016-08-15  2:04     ` Qu Wenruo
2016-08-09  8:30 ` [PATCH v3 3/3] btrfs: qgroup: Fix qgroup incorrectness caused by log replay Qu Wenruo
2016-08-09 13:22   ` Goldwyn Rodrigues

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).