From: "Darrick J. Wong" <djwong@kernel.org>
To: Donald Douwsma <ddouwsma@redhat.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v3] xfs: allow setting full range of panic tags
Date: Wed, 8 Feb 2023 18:40:52 -0800 [thread overview]
Message-ID: <Y+RdNLTtjBtYCIif@magnolia> (raw)
In-Reply-To: <20230207062209.1806104-1-ddouwsma@redhat.com>
On Tue, Feb 07, 2023 at 05:22:09PM +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. Do this using a mask of possible values to prevent this happening
> again as suggested by Darrick.
>
> Fixes: d519da41e2b7 ("xfs: Introduce XFS_PTAG_VERIFIER_ERROR panic mask")
> Signed-off-by: Donald Douwsma <ddouwsma@redhat.com>
Looks good to me, thanks!
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
--D
> ---
> Documentation/admin-guide/xfs.rst | 2 +-
> fs/xfs/xfs_error.h | 12 +++++++++++-
> fs/xfs/xfs_globals.c | 3 ++-
> 3 files changed, 14 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..0b9c5ba8a598 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,16 @@ 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_PTAG_MASK (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..9edc1f2bc939 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_PTAG_MASK},
> .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-02-09 2:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-07 6:22 [PATCH v3] xfs: allow setting full range of panic tags Donald Douwsma
2023-02-09 2:40 ` Darrick J. Wong [this message]
2023-02-10 0:02 ` Dave Chinner
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=Y+RdNLTtjBtYCIif@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox