From: Dave Chinner <david@fromorbit.com>
To: linux-xfs@vger.kernel.org
Cc: fstests@vger.kernel.org, amir73il@gmail.com
Subject: [PATCH 0/6] xfs_io: fix up command iteration
Date: Wed, 7 Dec 2016 14:47:18 +1100 [thread overview]
Message-ID: <20161207034724.1613-1-david@fromorbit.com> (raw)
Hi folks,
Here are teh changes I've put together to address the command
iteration problems that xfs_io is demonstrating. I described the
history that lead us to the current problems here:
https://www.spinics.net/lists/fstests/msg04572.html
This series cleans up the libxcmd command code and fixes the xfs_io
problems without completely removing the existing iteration
behaviour.
The first three patches address the "args_command" abstraction,
renaming it to a "command iterator" abstraction and clean up the
command loop implementation to make it easier to follow. It is now
clear that the the command loop has an external command iterator
control function, and it has a clean and clear mechanism for the
external commands to prevent iteration from occurring
(CMD_FLAG_ONESHOT).
The fourth patch cleans up a recent change made to the xfs_quota
interface to support foreign filesystems - it still needs to be abel
to run the help and quit commands regardless of other state. The
same requirement exists for xfs_io, it just implemented the command
check that allowed them to be run differently. This patch
centralises that by marking libxcmd functions as "library" functions
and skips the application provided command checking altogether.
Hence the apps no longer need to handle these cases at all.
The fifth patch makes all the xfs_io commands that shouldn't iterate
the file table one-shot only commands. This avoids all the nasty
problems with commands like open that end up completely filling
the open file table with thousands of filedescriptors pointing to
the same file. THis makes those commands usable and predictable.
Finally, the last patch adds CLI support for running xfs_io commands
as one-shot commands rather than iterating commands. This is useful
for being able to set up multiple files and operate on them as a
whole or individually as necessary. This patch also documents in the
man page that some commands may iterate all open files and that the
new "-C" command option can be used to avoid problems arising from
this historical behaviour.
-Dave.
next reply other threads:[~2016-12-07 3:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-07 3:47 Dave Chinner [this message]
2016-12-07 3:47 ` [PATCH 1/6] libxcmd: check CMD_FLAG_GLOBAL inside args_command() Dave Chinner
2016-12-07 3:47 ` [PATCH 2/6] libxcmd: rename args_command to command_iterator Dave Chinner
2016-12-07 3:47 ` [PATCH 3/6] libxcmd: merge command() and iterate_command() Dave Chinner
2016-12-07 3:47 ` [PATCH 4/6] libxcmd: don't check generic library commands Dave Chinner
2016-12-07 3:47 ` [PATCH 5/6] xfs_io: make various commands one-shot only Dave Chinner
2016-12-15 18:21 ` Eric Sandeen
2016-12-16 0:53 ` Dave Chinner
2016-12-16 1:50 ` Eric Sandeen
2016-12-16 4:21 ` Dave Chinner
2016-12-07 3:47 ` [PATCH 6/6] libxcmd: add non-iterating user commands Dave Chinner
2016-12-07 4:49 ` Amir Goldstein
2016-12-07 4:57 ` Amir Goldstein
2016-12-07 14:21 ` Amir Goldstein
2016-12-07 20:16 ` Dave Chinner
2016-12-08 10:14 ` Amir Goldstein
2016-12-08 22:22 ` Dave Chinner
2016-12-15 19:09 ` Eric Sandeen
2017-01-12 5:14 ` [PATCH 0/6] xfs_io: fix up command iteration Amir Goldstein
2017-01-12 12:52 ` 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=20161207034724.1613-1-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=amir73il@gmail.com \
--cc=fstests@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox