All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: xfs@oss.sgi.com, Alex Elder <aelder@sgi.com>
Subject: Re: dropping dmapi support, was Re: [PATCH 00/17] pending patches
Date: Fri, 4 Jun 2010 08:33:56 +1000	[thread overview]
Message-ID: <20100603223356.GA14752@dastard> (raw)
In-Reply-To: <20100603170818.GA18591@infradead.org>

On Thu, Jun 03, 2010 at 01:08:18PM -0400, Christoph Hellwig wrote:
> On Thu, Jun 03, 2010 at 12:01:46PM -0500, Alex Elder wrote:
> > I would like to have a chance to submit an alternative to simply
> > removing that code.  I recognize it sits in the first part of your
> > patch series, and I will gladly do the work to rearrange them to
> > put it at the end, in order to give me some time to develop my
> > proposed change.
> > 
> > Basically what I'd like to do is update the DMAPI support code
> > so that it is much better isolated.  I would like to replace
> > the big ugly hunks that lie in common code paths with small
> > function calls, so that their footprint is minimal and not
> > distracting (along the lines of tracing calls).
> > 
> > I got a start on doing this, and had hoped to send the result
> > pretty soon after your initial posting of the patch, but that
> > work unfortunately got preempted by other more pressing stuff.
> > I wanted to provide actual code to help make the discussion
> > of the merits of removal versus cleanup more concrete.  I
> > now think I'll be able to put something together within the
> > next week or so.
> 
> I don't think it's a good idea.  I'm happy to not burn all bridges
> and leave certain code structured in a way that makes adding it easier,
> but if the hooks are as easy as you say above they can easily live in
> an out of tree patchset.  The general Linux kernel policy is that we
> don't keep hooks for out of tree code around, and I tend to agree to
> it.  We kept all that dmapi cruft in, and it's never served any
> purpose for us.  I think that HSM support is actually a very useful
> feature, but the a kernel interface based on the DMAPI specification
> much less so, and the horrible SGI implementation that used to be
> in the XFS CVS tree even less so.
> 
> If you want to push a new one the metadata hooks really need to be
> entirely outside the low-level filesystem, that is before calling
> into the namespace inode operations, which is easily doable even
> while keeping the current DMAPI core.

Regardless of the implementation cruftiness, I think this a much
better approach. The events and checks really aren't XFS specific,
and putting them at a higher level cleanly separates the filesystem
functionality from the event+blocking functionality of DMAPI.

> But what's much more difficult is the read/write path.  The dmapi
> code really gets in the way there, and I have additional simplification
> of this code pending that require this cruft to go away.  XFS currently
> has a needlessly complicated write path, and getting closer to the
> generic code will help us with lots of things like the upcoming multi
> page write support.

That is true, and also intervening higher up in the IO path for
DMAPI would avoid a lot of the locking complexity that XFS has to go
through now to be able to block on events in dmapi calls.

Further, with ext4 gaining a persitent handle interface, adding
DMAPI to the VFS would also enable HSMs to work on more than just
XFS...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

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

      reply	other threads:[~2010-06-03 22:31 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-31 16:07 [PATCH 00/17] pending patches Christoph Hellwig
2010-05-31 16:07 ` [PATCH 01/17] xfs: remove done roadmap item from xfs-delayed-logging-design.txt Christoph Hellwig
2010-06-02  4:33   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 02/17] xfs: skip writeback from reclaim context Christoph Hellwig
2010-06-02  4:39   ` Dave Chinner
2010-06-02 10:08     ` Christoph Hellwig
2010-06-02 23:02       ` Dave Chinner
2010-06-03  6:52         ` Christoph Hellwig
2010-06-03  6:52           ` Christoph Hellwig
2010-05-31 16:07 ` [PATCH 03/17] xfs: improve xfs_isilocked Christoph Hellwig
2010-06-02  4:41   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 04/17] xfs: drop dmapi hooks Christoph Hellwig
2010-06-02  4:45   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 05/17] xfs: remove unneeded #include statements Christoph Hellwig
2010-06-02  4:45   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 06/17] xfs: simplify log item descriptor tracking Christoph Hellwig
2010-06-02  5:11   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 07/17] xfs: merge iop_unpin_remove into iop_unpin Christoph Hellwig
2010-06-02  5:14   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 08/17] xfs: give xfs_item_ops methods the correct prototypes Christoph Hellwig
2010-06-02  5:30   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 09/17] xfs: give li_cb callbacks the correct prototype Christoph Hellwig
2010-06-02  5:45   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 10/17] xfs: simplify buffer pinning Christoph Hellwig
2010-06-02  5:47   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 11/17] xfs: simplify inode to transaction joining Christoph Hellwig
2010-06-02  5:57   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 12/17] xfs: fix the xfs_log_iovec i_addr type Christoph Hellwig
2010-06-02  6:01   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 13/17] xfs: kill the unused xlog_debug variable Christoph Hellwig
2010-06-02  6:02   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 14/17] xfs: remove the unused XFS_LOG_SLEEP and XFS_LOG_NOSLEEP flags Christoph Hellwig
2010-06-02  6:02   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 15/17] xfs: remove the unused XFS_TRANS_NOSLEEP/XFS_TRANS_WAIT flags Christoph Hellwig
2010-06-02  6:03   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 16/17] xfs: remove unused XFS_BMAPI_ flags Christoph Hellwig
2010-06-02  6:04   ` Dave Chinner
2010-05-31 16:07 ` [PATCH 17/17] xfs: remove unused delta tracking code in xfs_bmapi Christoph Hellwig
2010-06-02  6:11   ` Dave Chinner
2010-06-02  6:13 ` [PATCH 00/17] pending patches Dave Chinner
2010-06-03 17:01 ` Alex Elder
2010-06-03 17:08   ` dropping dmapi support, was " Christoph Hellwig
2010-06-03 22:33     ` Dave Chinner [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=20100603223356.GA14752@dastard \
    --to=david@fromorbit.com \
    --cc=aelder@sgi.com \
    --cc=hch@infradead.org \
    --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.