linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Hou Tao <houtao1@huawei.com>
Cc: linux-xfs@vger.kernel.org, darrick.wong@oracle.com, cmaiolino@redhat.com
Subject: Re: [PATCH RFC 0/3] xfs: add customizable default values for error configuration
Date: Tue, 22 Aug 2017 08:50:03 +1000	[thread overview]
Message-ID: <20170821225003.GR10621@dastard> (raw)
In-Reply-To: <1503316462-16553-1-git-send-email-houtao1@huawei.com>

On Mon, Aug 21, 2017 at 07:54:19PM +0800, Hou Tao wrote:
> Hi all,
> 
> XFS has the configurable error handlers for each mounted device, but
> the default values of these configuration are static. It will be useful
> to make the default values customizable when there are many XFS filesystems
> and we need to shutdown the filesystem after getting any error.

Nice! I can see the usefulness of this functionality - it's a piece
of the puzzle we are missing. I've had a quick look over the code,
and have a few high level questions that I can't answer from looking
at the code.

Was there any reason you decided to put the default policy
management into the kernel rather than try to provide a mechanism to
allow userspace to manage it (e.g. via a udev event at mount time)?
We've still got to manage per filesystem specific settings from
userspace (e.g.  root volume might be different to data volumes), so
I'm interested to know if you have any ideas on how we can handle
that side of the problem, too?

> The patches are simple. A sysfs tree is created under .../xfs/default_error
> and its hierarchies are the same with the tree under .../fs/xfs/<dev>/error.
> 
> When the default value of any error configuration is being modified, the
> corresponding value of all mount points will be checked again the old
> default value. If they are the same, the value of the mount point will
> be updated to the new default value as well, else the value of the mount
> point will NOT be changed.

Assuming we are going to put default policy into the kernel, this
notifier structure seems overly complex when compared to a single
structure that holds the default values and looking it up when a
specific mount error config holds a flag that says "use the
default".

The "check the default flag and grab values" code could all be
hidden inside xfs_error_get_cfg() so propagation happens on demand.
This means all the mounts pick up changes to the default config
without needing to be chained to a notifier.

The "use defaults" flag could be cleared when a new value is set for
that error config, and potentionally we could reset it in the store
method if it matches the current default value.

I might be missing something here (I frequently do, so please tell
me if I have!), but my initial thoughts are that we can do this in a
much simpler manner. What do you think, Tao?

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  parent reply	other threads:[~2017-08-21 22:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-21 11:54 [PATCH RFC 0/3] xfs: add customizable default values for error configuration Hou Tao
2017-08-21 11:54 ` [PATCH RFC 1/3] xfs: prepare for the customizable default values of " Hou Tao
2017-08-21 11:54 ` [PATCH RFC 2/3] xfs: add sysfs files for " Hou Tao
2017-08-21 11:54 ` [PATCH RFC 3/3] xfs: make the default values of error configuration customizable and workable Hou Tao
2017-08-21 22:50 ` Dave Chinner [this message]
2017-08-22 16:59   ` [PATCH RFC 0/3] xfs: add customizable default values for error configuration Darrick J. Wong
2017-08-23 10:29     ` Hou Tao
2017-08-23  9:26   ` Hou Tao
2017-08-24  0:16     ` Dave Chinner
2017-08-24  0:46       ` Darrick J. Wong
2017-08-24  1:00         ` Dave Chinner
2017-08-24  1:42           ` Hou Tao
2017-08-24  2:06             ` Dave Chinner
2017-08-22  4:05 ` Eric Sandeen

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=20170821225003.GR10621@dastard \
    --to=david@fromorbit.com \
    --cc=cmaiolino@redhat.com \
    --cc=darrick.wong@oracle.com \
    --cc=houtao1@huawei.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 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).