All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carlos Maiolino <cmaiolino@redhat.com>
To: xfs@oss.sgi.com
Subject: [PATCH] xfs: Document error handling behavior
Date: Tue, 19 Jul 2016 12:04:17 +0200	[thread overview]
Message-ID: <1468922657-3895-1-git-send-email-cmaiolino@redhat.com> (raw)

This is the first try to document the implementation of error handlers into
sysfs.

Reviews and comments are appreciated, please also notice I'm not english-native,
so, spelling corrections are also appreciated :)

Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
---
 Documentation/filesystems/xfs.txt | 78 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/Documentation/filesystems/xfs.txt b/Documentation/filesystems/xfs.txt
index 8146e9f..1df868a 100644
--- a/Documentation/filesystems/xfs.txt
+++ b/Documentation/filesystems/xfs.txt
@@ -348,3 +348,81 @@ Removed Sysctls
   ----				-------
   fs.xfs.xfsbufd_centisec	v4.0
   fs.xfs.age_buffer_centisecs	v4.0
+
+Error handling
+==============
+
+XFS can act differently according with the type of error found
+during its operation. The implementation introduces the following
+concepts to the error handler:
+
+ -failure speed:
+	Defines how fast XFS should shutdown in case of a specific
+	error is found during the filesystem  operation. It can
+	shutdown immediately, after a defined number of tries, or
+	simply try forever, which was the old behavior and is now
+	set as default behavior, except during unmount time, where
+	in case of a error is found while unmounting, the filesystem
+	will shutdown.
+
+ -error classes:
+	Specifies the subsystem/location where the error handlers
+	configure the behavior for, such as metadata or memory allocation.
+
+ -error handlers:
+	Defines the behavior for a specific error.
+
+The filesystem behavior during an error can be set via sysfs files, where, the
+errors are organized with the following structure:
+
+  /sys/fs/xfs/<dev>/error/<class>/<error>/
+
+Each directory contains:
+
+ /sys/fs/xfs/<dev>/error/
+
+	fail_at_unmount		(Min:  0  Default:  1  Max: 1)
+		Defines the global error behavior during unmount time. If set to
+		"1", XFS will shutdown in case of any error is found, otherwise,
+		if set to "0", the filesystem will indefinitely retry to cleanly
+		unmount the filesystem.
+
+	<class> subdirectories
+		Contains specific error handlers configuration
+		(Ex: /sys/fs/xfs/<dev>/error/metadata).
+
+ /sys/fs/xfs/<dev>/error/<class>/
+
+	The contents of this directory are <class> specific, since each <class>
+	might need to handle different types of errors. All <error> directory
+	though, contains the "default" directory, which is a global configuration
+	for errors not available for independent configuration.
+
+ /sys/fs/xfs/<dev>/error/<class>/<error>
+
+	Contains the failure speed configuration files for each specific error,
+	including the "default" behavior, which contains the same configuration
+	options as the specific errors.
+
+	The available configurations for each error type are:
+
+	max_retries			(Min: -1  Default: -1  Max: INTMAX)
+		Define how many tries the filesystem is allowed to retry its
+		operations during the specific error, before shutdown the
+		filesystem. Setting this file to "-1", will set XFS to retry
+		forever in the specific error, setting it to "0", will make
+		XFS to fail immediately after the specific error is found,
+		while setting it to a "N" value, where N is greater than 0,
+		will make XFS retry "N" times before shutdown.
+
+	retry_timeout_seconds		(Min:  0  Default:  0  Max: INTMAX)
+		Define the amount of time (in seconds) that the filesystem is
+		allowed to retry its operations when the specific error is
+		found. "0" means no wait time.
+
+
+	"max_retries" takes precedence over "retry_timeout_seconds", where,
+	"retry_timeout_seconds" will only be tested if the "max_retries" limit
+	were not reached yet or is set to retry forever ("-1"). If "max_retries"
+	limit is reached, the filesystem will shutdown, wether or not
+	"retry_timeout_seconds" has been reached.
-- 
2.7.4

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

             reply	other threads:[~2016-07-19 10:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-19 10:04 Carlos Maiolino [this message]
2016-07-19 21:15 ` [PATCH] xfs: Document error handling behavior Eric Sandeen
2016-07-20  6:18   ` Eric Sandeen
2016-07-20  9:04     ` Carlos Maiolino
2016-07-20 14:00       ` Jan Tulak
2016-07-20 22:25       ` Dave Chinner
2016-07-22  4:09 ` Zorro Lang
2016-07-22  8:58   ` Carlos Maiolino
2016-08-08 10:57     ` Carlos Eduardo Maiolino
2016-08-08 22:40       ` Dave Chinner
2016-08-09  8:11         ` Carlos Maiolino

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=1468922657-3895-1-git-send-email-cmaiolino@redhat.com \
    --to=cmaiolino@redhat.com \
    --cc=xfs@oss.sgi.com \
    /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.