All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v3.1 0/6] Qgroup fixes, Non-stack version
@ 2017-05-12  3:30 Qu Wenruo
  2017-05-12  3:30 ` [RFC PATCH v3.1 1/6] btrfs: qgroup: Add quick exit for non-fs extents Qu Wenruo
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Qu Wenruo @ 2017-05-12  3:30 UTC (permalink / raw)
  To: linux-btrfs, dsterba; +Cc: rgoldwyn

The remaining qgroup fixes patches, based on the Chris' for-linus-4.12
branch with commit 9bcaaea7418d09691f1ffab5c49aacafe3eef9d0 as base.

Can be fetched from github:
https://github.com/adam900710/linux/tree/qgroup_fixes_non_stack

Despite the 5th patch, patches are mostly unchanged.
Only minor conflicts are addressed in this update.

The 5th patch chooses a different method to reduce stack memory usage.

Instead of allocating extent_changeset structure on stack, this time only a
pointer of extent_changeset is allocated on stack.

And real extent_changeset is allocated inside btrfs_qgroup_reserve_data().
The impact to stack memory usage of quota disabled case is reduced to minimal.

While the error handler routine is not affected either.

v2:
  Add reviewed-by tag for 2nd patch
  Update the first patch to follow the new trace point standard
RFC v3:
  Use non-stack (dyanamic allocation) for extent_changeset structure, in
  5th patch, to reduce impact for quota disabled cases.
  Rebase to latest for-linus-4.12 branch.
RFC v3.1:
  Update comment to include the newly introduced parameter
  Use init/release function to replace open coded ulist_init/release().


Qu Wenruo (6):
  btrfs: qgroup: Add quick exit for non-fs extents
  btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function
  btrfs: qgroup: Return actually freed bytes for qgroup release or free
    data
  btrfs: qgroup: Fix qgroup reserved space underflow caused by buffered
    write and quota enable
  btrfs: qgroup: Introduce extent changeset for qgroup reserve functions
  btrfs: qgroup: Fix qgroup reserved space underflow by only freeing
    reserved ranges

 fs/btrfs/ctree.h       |  12 ++-
 fs/btrfs/extent-tree.c |  37 +++++----
 fs/btrfs/extent_io.h   |  36 ++++++++-
 fs/btrfs/file.c        |  41 ++++++----
 fs/btrfs/inode-map.c   |   4 +-
 fs/btrfs/inode.c       |  58 ++++++++-----
 fs/btrfs/ioctl.c       |   9 ++-
 fs/btrfs/qgroup.c      | 215 ++++++++++++++++++++++++++++++++++++-------------
 fs/btrfs/qgroup.h      |   8 +-
 fs/btrfs/relocation.c  |  12 +--
 fs/btrfs/transaction.c |  10 ---
 11 files changed, 303 insertions(+), 139 deletions(-)
-- 
2.12.2




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

end of thread, other threads:[~2017-05-17  1:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-12  3:30 [RFC PATCH v3.1 0/6] Qgroup fixes, Non-stack version Qu Wenruo
2017-05-12  3:30 ` [RFC PATCH v3.1 1/6] btrfs: qgroup: Add quick exit for non-fs extents Qu Wenruo
2017-05-16 14:13   ` David Sterba
2017-05-12  3:30 ` [RFC PATCH v3.1 2/6] btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function Qu Wenruo
2017-05-12  3:30 ` [RFC PATCH v3.1 3/6] btrfs: qgroup: Return actually freed bytes for qgroup release or free data Qu Wenruo
2017-05-16 14:23   ` David Sterba
2017-05-17  1:12     ` Qu Wenruo
2017-05-17  1:19       ` Qu Wenruo
2017-05-12  3:30 ` [RFC PATCH v3.1 4/6] btrfs: qgroup: Fix qgroup reserved space underflow caused by buffered write and quota enable Qu Wenruo
2017-05-12  3:30 ` [RFC PATCH v3.1 5/6] btrfs: qgroup: Introduce extent changeset for qgroup reserve functions Qu Wenruo
2017-05-12  3:30 ` [RFC PATCH v3.1 6/6] btrfs: qgroup: Fix qgroup reserved space underflow by only freeing reserved ranges Qu Wenruo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.