From: "Darrick J. Wong" <djwong@kernel.org>
To: Donald Douwsma <ddouwsma@redhat.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v2] xfs: allow setting full range of panic tags
Date: Fri, 27 Jan 2023 08:27:11 -0800 [thread overview]
Message-ID: <Y9P7X6GnLA/iJuIa@magnolia> (raw)
In-Reply-To: <20230126052910.588098-1-ddouwsma@redhat.com>
On Thu, Jan 26, 2023 at 04:29:10PM +1100, Donald Douwsma wrote:
> xfs will not allow combining other panic masks with
> XFS_PTAG_VERIFIER_ERROR.
>
> sysctl fs.xfs.panic_mask=511
> sysctl: setting key "fs.xfs.panic_mask": Invalid argument
> fs.xfs.panic_mask = 511
>
> Update to the maximum value that can be set to allow the full range of
> masks.
>
> Fixes: d519da41e2b7 ("xfs: Introduce XFS_PTAG_VERIFIER_ERROR panic mask")
> Signed-off-by: Donald Douwsma <ddouwsma@redhat.com>
> ---
> Documentation/admin-guide/xfs.rst | 2 +-
> fs/xfs/xfs_error.h | 13 ++++++++++++-
> fs/xfs/xfs_globals.c | 3 ++-
> 3 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/admin-guide/xfs.rst b/Documentation/admin-guide/xfs.rst
> index 8de008c0c5ad..e2561416391c 100644
> --- a/Documentation/admin-guide/xfs.rst
> +++ b/Documentation/admin-guide/xfs.rst
> @@ -296,7 +296,7 @@ The following sysctls are available for the XFS filesystem:
> XFS_ERRLEVEL_LOW: 1
> XFS_ERRLEVEL_HIGH: 5
>
> - fs.xfs.panic_mask (Min: 0 Default: 0 Max: 256)
> + fs.xfs.panic_mask (Min: 0 Default: 0 Max: 511)
> Causes certain error conditions to call BUG(). Value is a bitmask;
> OR together the tags which represent errors which should cause panics:
>
> diff --git a/fs/xfs/xfs_error.h b/fs/xfs/xfs_error.h
> index dbe6c37dc697..a015f7b370dc 100644
> --- a/fs/xfs/xfs_error.h
> +++ b/fs/xfs/xfs_error.h
> @@ -75,7 +75,7 @@ extern int xfs_errortag_clearall(struct xfs_mount *mp);
>
> /*
> * XFS panic tags -- allow a call to xfs_alert_tag() be turned into
> - * a panic by setting xfs_panic_mask in a sysctl.
> + * a panic by setting fs.xfs.panic_mask in a sysctl.
> */
> #define XFS_NO_PTAG 0u
> #define XFS_PTAG_IFLUSH (1u << 0)
> @@ -88,6 +88,17 @@ extern int xfs_errortag_clearall(struct xfs_mount *mp);
> #define XFS_PTAG_FSBLOCK_ZERO (1u << 7)
> #define XFS_PTAG_VERIFIER_ERROR (1u << 8)
>
> +#define XFS_MAX_PTAG ( \
The ptag values are a bitmask, not a continuous integer range, so the
name should have "MASK" in it, e.g.
#define XFS_PTAG_MASK (XFS_PTAG_IFLUSH | \
XFS_PTAG_LOGRES | \
...
and follow the customary style where the macro definition lines are
indented from the name.
Otherwise this looks fine.
--D
> + XFS_PTAG_IFLUSH | \
> + XFS_PTAG_LOGRES | \
> + XFS_PTAG_AILDELETE | \
> + XFS_PTAG_ERROR_REPORT | \
> + XFS_PTAG_SHUTDOWN_CORRUPT | \
> + XFS_PTAG_SHUTDOWN_IOERROR | \
> + XFS_PTAG_SHUTDOWN_LOGERROR | \
> + XFS_PTAG_FSBLOCK_ZERO | \
> + XFS_PTAG_VERIFIER_ERROR)
> +
> #define XFS_PTAG_STRINGS \
> { XFS_NO_PTAG, "none" }, \
> { XFS_PTAG_IFLUSH, "iflush" }, \
> diff --git a/fs/xfs/xfs_globals.c b/fs/xfs/xfs_globals.c
> index 4d0a98f920ca..ff129acce8e6 100644
> --- a/fs/xfs/xfs_globals.c
> +++ b/fs/xfs/xfs_globals.c
> @@ -4,6 +4,7 @@
> * All Rights Reserved.
> */
> #include "xfs.h"
> +#include "xfs_error.h"
>
> /*
> * Tunable XFS parameters. xfs_params is required even when CONFIG_SYSCTL=n,
> @@ -15,7 +16,7 @@ xfs_param_t xfs_params = {
> /* MIN DFLT MAX */
> .sgid_inherit = { 0, 0, 1 },
> .symlink_mode = { 0, 0, 1 },
> - .panic_mask = { 0, 0, 256 },
> + .panic_mask = { 0, 0, XFS_MAX_PTAG},
> .error_level = { 0, 3, 11 },
> .syncd_timer = { 1*100, 30*100, 7200*100},
> .stats_clear = { 0, 0, 1 },
> --
> 2.31.1
>
next prev parent reply other threads:[~2023-01-27 16:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-26 5:29 [PATCH v2] xfs: allow setting full range of panic tags Donald Douwsma
2023-01-27 16:27 ` Darrick J. Wong [this message]
2023-01-30 22:20 ` Eric Sandeen
2023-01-31 19:28 ` 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=Y9P7X6GnLA/iJuIa@magnolia \
--to=djwong@kernel.org \
--cc=ddouwsma@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.