All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v2 2/3] xfs: transaction subsystem quiesce mechanism
Date: Wed, 7 Apr 2021 07:36:37 -0400	[thread overview]
Message-ID: <YG2ZRXp/vPXlvpcB@bfoster> (raw)
In-Reply-To: <20210407080041.GB3363884@infradead.org>

On Wed, Apr 07, 2021 at 09:00:41AM +0100, Christoph Hellwig wrote:
> On Tue, Apr 06, 2021 at 10:42:37AM -0400, Brian Foster wrote:
> > The updated quotaoff logging algorithm depends on a runtime quiesce
> > of the transaction subsystem to guarantee all transactions after a
> > certain point detect quota subsystem changes. Implement this
> > mechanism using an internal lock, similar to the external filesystem
> > freeze mechanism. This is also somewhat analogous to the old percpu
> > transaction counter mechanism, but we don't actually need a counter.
> 
> Stupid question that already came up when seeing the replies to my
> s_inodes patch:  Why do we even care about quotaoff?  Is there any
> real life use case for quotaoff, at least the kind that disables
> accounting (vs enforcement)?  IMHO we spend a lot of effort on this
> corner case that has no practical value, and just removing support
> for quotaoff might serve us much better in the long run.
> 

Hm, fair point. I think the historical fragility and complexity makes it
reasonable to question whether it's worth continued support. Looking
back through my notes, ISTM that the original report of the log
reservation deadlock came from fstests, so not necessarily an end user
report. I'm not aware of any real user reports around quotaoff, but then
again it's fairly boring functionality that probably just works most of
the time. It's kind of hard to surmise external dependencies from that
alone.

Personally, I'd probably have to think about it some more, but initially
I don't have any strong objection to removing quotaoff support. More
practically, I suspect we'd have to deprecate it for some period of time
given that it's a generic interface, has userspace tools, regression
tests, etc., and may or may not have real users who might want the
opportunity to object (or adjust).

Though perhaps potentially avoiding that mess is what you mean by "...
disables accounting vs.  enforcement." I.e., retain the interface and
general ability to turn off enforcement, but require a mount cycle in
the future to disable accounting..? Hmm... that seems like a potentially
nicer/easier path forward and a less disruptive change. I wonder even if
we could just (eventually) ignore the accounting disablement flags from
userspace and if any users would have reason to care about that change
in behavior.

Brian


  reply	other threads:[~2021-04-07 11:36 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06 14:42 [PATCH v2 0/3] xfs: rework quotaoff to avoid log deadlock Brian Foster
2021-04-06 14:42 ` [PATCH v2 1/3] xfs: skip dquot reservations if quota is inactive Brian Foster
2021-04-07  7:58   ` Christoph Hellwig
2021-04-07 15:51   ` Darrick J. Wong
2021-04-06 14:42 ` [PATCH v2 2/3] xfs: transaction subsystem quiesce mechanism Brian Foster
2021-04-07  8:00   ` Christoph Hellwig
2021-04-07 11:36     ` Brian Foster [this message]
2021-04-07 13:24       ` Christoph Hellwig
2021-04-07 15:50         ` Darrick J. Wong
2021-04-06 14:42 ` [PATCH v2 3/3] xfs: rework quotaoff logging to avoid log deadlock on active fs Brian Foster

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=YG2ZRXp/vPXlvpcB@bfoster \
    --to=bfoster@redhat.com \
    --cc=hch@infradead.org \
    --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.