From: Matthew Wilcox <willy@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: Martin Steigerwald <martin@lichtvoll.de>,
linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-xfs@vger.kernel.org
Subject: Re: Something like ZFS Channel Programs for BTRFS & probably XFS or even VFS?
Date: Tue, 3 Oct 2017 13:40:51 -0700 [thread overview]
Message-ID: <20171003204051.GA8848@bombadil.infradead.org> (raw)
In-Reply-To: <20171003201035.GL3666@dastard>
On Wed, Oct 04, 2017 at 07:10:35AM +1100, Dave Chinner wrote:
> On Tue, Oct 03, 2017 at 03:19:18PM +0200, Martin Steigerwald wrote:
> > [repost. I didn´t notice autocompletion gave me wrong address for fsdevel,
> > blacklisted now]
> >
> > Hello.
> >
> > What do you think of
> >
> > http://open-zfs.org/wiki/Projects/ZFS_Channel_Programs
>
> Domain not found.
Must be an Australian problem ...
A ZFS channel program (ZCP) is a small script written in a domain specific
language that manipulate ZFS internals in a single, atomically-visible
operation. For instance, to delete all snapshots of a filesystem a ZCP
could be written which 1) generates the list of snapshots, 2) traverses
that list, and 3) destroys each snapshot unconditionally. Because
each of these statements would be evaluated from within the kernel,
ZCPs can guarantee safety from interference with other concurrent ZFS
modifications. Executing from inside the kernel allows us to guarantee
atomic visibility of these operations (correctness) and allows them to
be performed in a single transaction group (performance).
A successful implementation of ZCP will:
1. Support equivalent functionality for all of the current ZFS commands
with improved performance and correctness from the point of view of the
user of ZFS.
2. Facilitate the quick addition of new and useful commands as
ZCP enables the implementation of more powerful operations which
previously would have been unsafe to implement in user programs, or
would require modifications to the kernel for correctness. Since the
ZCP layer guarantees the atomicity of each ZCP, we only need to write
new sync_tasks for individual simple operations, then can use ZCPs to
chain those simple operations together into more complicated operations.
3. Allow ZFS users to safely implement their own ZFS operations without
performing operations they don’t have the privileges for.
4. Improve the performance and correctness of existing applications
built on ZFS operations.
next prev parent reply other threads:[~2017-10-03 20:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-03 13:19 Something like ZFS Channel Programs for BTRFS & probably XFS or even VFS? Martin Steigerwald
2017-10-03 20:10 ` Dave Chinner
2017-10-03 20:39 ` Randy Dunlap
2017-10-03 20:40 ` Matthew Wilcox [this message]
2017-10-03 21:44 ` Dave Chinner
-- strict thread matches above, loose matches on Subject: below --
2017-10-03 8:18 Martin Steigerwald
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=20171003204051.GA8848@bombadil.infradead.org \
--to=willy@infradead.org \
--cc=david@fromorbit.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=martin@lichtvoll.de \
/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;
as well as URLs for NNTP newsgroup(s).