From: Alex Elder <aelder@sgi.com>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH] xfs: Non-blocking inode locking in IO completion
Date: Thu, 25 Feb 2010 14:06:46 -0600 [thread overview]
Message-ID: <1267128406.1905.18.camel@doink> (raw)
In-Reply-To: <1266384989-28928-1-git-send-email-david@fromorbit.com>
On Wed, 2010-02-17 at 16:36 +1100, Dave Chinner wrote:
> The introduction of barriers to DM loop devices (e.g. dm-crypt) has
> created a new IO order completion dependency that XFS does not
> handle. That is, the completion of log IOs (which have barriers) in
> the loop filesystem are now dependent on completion of data IO in
> the backing filesystem.
One comment, below
. . .
> + if (ioend->io_type != IOMAP_READ) {
> + error = xfs_setfilesize(ioend);
> + ASSERT(!error || error == EAGAIN);
> }
> +
> + /*
> + * If we didn't complete processing of the ioend, requeue it to the
> + * tail of the workqueue for another attempt later. Otherwise destroy
> + * it.
> + */
> + if (error == EAGAIN) {
It's not a problem now (and may never be), but it's
conceivable error could have been set to the return
value from xfs_iomap_write_unwritten() to have value
EAGAIN. It might have been better to include this
block inside the if (ioend->io_type != IOMAP_READ) {
block, above.
(I'll take it as is, however...)
-Alex
> + atomic_inc(&ioend->io_remaining);
> + xfs_finish_ioend(ioend, 0);
> + /* ensure we don't spin on blocked ioends */
> + delay(1);
> + } else
> + xfs_destroy_ioend(ioend);
> }
>
> /*
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
prev parent reply other threads:[~2010-02-25 20:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-17 5:36 [PATCH] xfs: Non-blocking inode locking in IO completion Dave Chinner
2010-02-17 19:29 ` Christoph Hellwig
2010-02-17 21:13 ` Dave Chinner
2010-02-18 12:35 ` Christoph Hellwig
2010-02-25 23:06 ` [PATCH V2] " Dave Chinner
2010-02-26 17:58 ` Alex Elder
2010-02-25 20:06 ` Alex Elder [this message]
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=1267128406.1905.18.camel@doink \
--to=aelder@sgi.com \
--cc=david@fromorbit.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.