All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: linux-xfs@vger.kernel.org
Subject: [PATCH v4 0/3] xfs: set aside allocation btree blocks from block reservation
Date: Fri, 23 Apr 2021 09:10:47 -0400	[thread overview]
Message-ID: <20210423131050.141140-1-bfoster@redhat.com> (raw)

Hi all,

Here's v4 of the proposed allocbt block set aside fix. The patches have
been swizzled around a bit based on previous feedback to try and avoid
confusion over what bits are perag res related and not. This hopefully
facilitates analysis when it comes time to evaluate potential changes to
remove the current perag res mount time AG header scan behavior on which
this currently depends. Otherwise the actual code changes from v3 are
fairly light and documented in the changelog below. Thoughts, reviews,
flames appreciated.

Brian

v4:
- Fix up perag res logic to not skip pagf init on partial res failure.
- Split up set aside patch into separate counter mechanism and set aside
  policy patches.
- Drop unnecessary ->m_has_agresv flag as pagf's are always initialized
  on filesystems with active reservations.
v3: https://lore.kernel.org/linux-xfs/20210318161707.723742-1-bfoster@redhat.com/
- Use a mount flag for easy detection of active perag reservation.
- Filter rmapbt blocks from allocbt block accounting.
v2: https://lore.kernel.org/linux-xfs/20210222152108.896178-1-bfoster@redhat.com/
- Use an atomic counter instead of a percpu counter.
v1: https://lore.kernel.org/linux-xfs/20210217132339.651020-1-bfoster@redhat.com/

Brian Foster (3):
  xfs: unconditionally read all AGFs on mounts with perag reservation
  xfs: introduce in-core global counter of allocbt blocks
  xfs: set aside allocation btree blocks from block reservation

 fs/xfs/libxfs/xfs_ag_resv.c     | 34 ++++++++++++++++++++++-----------
 fs/xfs/libxfs/xfs_alloc.c       | 12 ++++++++++++
 fs/xfs/libxfs/xfs_alloc_btree.c |  2 ++
 fs/xfs/xfs_mount.c              | 15 ++++++++++++++-
 fs/xfs/xfs_mount.h              |  6 ++++++
 5 files changed, 57 insertions(+), 12 deletions(-)

-- 
2.26.3


             reply	other threads:[~2021-04-23 13:10 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-23 13:10 Brian Foster [this message]
2021-04-23 13:10 ` [PATCH v4 1/3] xfs: unconditionally read all AGFs on mounts with perag reservation Brian Foster
2021-04-27 10:22   ` Chandan Babu R
2021-04-27 21:36   ` Allison Henderson
2021-04-28  4:12   ` Darrick J. Wong
2021-04-23 13:10 ` [PATCH v4 2/3] xfs: introduce in-core global counter of allocbt blocks Brian Foster
2021-04-27 10:28   ` Chandan Babu R
2021-04-27 11:33     ` Brian Foster
2021-04-27 13:22       ` Chandan Babu R
2021-04-27 21:37   ` Allison Henderson
2021-04-28  4:15   ` Darrick J. Wong
2021-04-28 15:01     ` Brian Foster
2021-04-28 15:29       ` Brian Foster
2021-04-28 16:12         ` Darrick J. Wong
2021-04-23 13:10 ` [PATCH v4 3/3] xfs: set aside allocation btree blocks from block reservation Brian Foster
2021-04-27 10:29   ` Chandan Babu R
2021-04-27 21:37   ` Allison Henderson
2021-04-28  4:12   ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210423131050.141140-1-bfoster@redhat.com \
    --to=bfoster@redhat.com \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.