<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
>

  <channel rdf:about="http://lwn.net/headlines/354861/">
    <title>LWN: Comments on "Featherstitch: Killing fsync() softly"</title>
    <link>http://lwn.net/Articles/354861/</link>
    <description>
This is a special feed containing comments posted
to the individual LWN article titled &quot;Featherstitch: Killing fsync() softly&quot;.

    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/358621/rss" />
	<rdf:li resource="http://lwn.net/Articles/356452/rss" />
	<rdf:li resource="http://lwn.net/Articles/356437/rss" />
	<rdf:li resource="http://lwn.net/Articles/356435/rss" />
	<rdf:li resource="http://lwn.net/Articles/356379/rss" />
	<rdf:li resource="http://lwn.net/Articles/356078/rss" />
	<rdf:li resource="http://lwn.net/Articles/355938/rss" />
	<rdf:li resource="http://lwn.net/Articles/355395/rss" />
	<rdf:li resource="http://lwn.net/Articles/355254/rss" />
	<rdf:li resource="http://lwn.net/Articles/355165/rss" />
	<rdf:li resource="http://lwn.net/Articles/355024/rss" />
	<rdf:li resource="http://lwn.net/Articles/354992/rss" />
	<rdf:li resource="http://lwn.net/Articles/354959/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/358621/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/358621/rss</link>
      <dc:date>2009-10-26T08:23:27+00:00</dc:date>
      <dc:creator>dlang</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
if this with a ext2 filesystem layout is comparable to ext3 (which uses basicly the same layout) is there any chance of someone submitting this to the kernel?&lt;br&gt;
&lt;p&gt;
if this avoids the ext3 fsync bug it would be a big win for many real-world systems, in spite of the added cpu and memory useage&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/356452/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/356452/rss</link>
      <dc:date>2009-10-11T01:53:24+00:00</dc:date>
      <dc:creator>vaurora</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
This might be a difference in the use of the word &quot;implemented&quot; - I believe (and do correct me if I'm wrong) that soft updates were designed and written once, for FreeBSD, and then the code was inherited to the other BSDs.  But I can see this being interpreted as &quot;exists and works in a production operating system&quot; in which case I would have to list all FreeBSD descended operating systems.&lt;br&gt;
&lt;p&gt;
Anyway, please do let me know if soft updates were re-implemented independently at any point.  The only instance I know of is the Featherstitch-based re-implementation described in this article.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/356437/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/356437/rss</link>
      <dc:date>2009-10-10T17:46:34+00:00</dc:date>
      <dc:creator>erh</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
as for the rest of the article: sounds like a neat idea.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/356435/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/356435/rss</link>
      <dc:date>2009-10-10T17:37:34+00:00</dc:date>
      <dc:creator>erh</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Wow,it's really hard to keep reading an article when the very first sentence in it is plainly wrong.  Soft updates have been implemented in NetBSD, DragonflyBSD and OpenBSD, not just FreeBSD. &lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/356379/rss">
      <title>Patchset API</title>
      <link>http://lwn.net/Articles/356379/rss</link>
      <dc:date>2009-10-09T22:33:23+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Quite so, this is really silly :) I'd recommend against using prefixes &lt;br&gt;
like 'batch_*()' in available-everywhere interfaces, though, 'cos it's the &lt;br&gt;
sort of prefix that batch-processing systems are *certain* to be using &lt;br&gt;
already.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/356078/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/356078/rss</link>
      <dc:date>2009-10-08T16:00:33+00:00</dc:date>
      <dc:creator>cesarb</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
For some reason, this description reminded me of darcs and its &quot;theory of patches&quot;.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/355938/rss">
      <title>Patchset API</title>
      <link>http://lwn.net/Articles/355938/rss</link>
      <dc:date>2009-10-07T22:18:34+00:00</dc:date>
      <dc:creator>sfink</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Ooh! A bikeshed with peeling paint!&lt;br&gt;
&lt;p&gt;
How about batch_*()? Or wb_*() for writebatch? (I'm ignoring the &quot;patch&quot; word, since I find it far more confusing than enlightening.)&lt;br&gt;
&lt;p&gt;
Will it always be write-specific? Would it ever be useful to say something like &quot;read blocks A-D, but I'll need either both A and B or both C and D before I can make progress&quot;? Something to do with RAID parity blocks, or quasi-realtime processing using memory that needs to be pinned but only while the process is scheduled or starts a pass, or maybe (ooh, here's a confusing one) when you want to read data from in-progress writes that are themselves being controlled by a dependency DAG? Or heck, maybe you're trying to read off of multiple devices and you only have enough power to spin up a subset at a time.&lt;br&gt;
&lt;p&gt;
I guess I'm just making up bullshit.&lt;br&gt;
&lt;p&gt;
Mmm. Bullshit and bikesheds. They go so well together, like chocolate and peanut butter. If you'll excuse the juxtaposition.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/355395/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/355395/rss</link>
      <dc:date>2009-10-04T15:06:05+00:00</dc:date>
      <dc:creator>TRS-80</dc:creator>
      <description>
      ZFS also has a transactional engine (DMU) underneath, although it's not exposed to user space.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/355254/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/355254/rss</link>
      <dc:date>2009-10-02T18:42:31+00:00</dc:date>
      <dc:creator>vaurora</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Yes, you are right!  I will get LWN to fix that for me.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/355165/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/355165/rss</link>
      <dc:date>2009-10-02T11:02:03+00:00</dc:date>
      <dc:creator>Cyberax</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Might this lead to full filesystem transactions someday?&lt;br&gt;
&lt;p&gt;
NTFS in Vista supports some transactional operations (the ones which are easy to implement) and it really helps sometimes. &lt;br&gt;
&lt;p&gt;
One can run a distributed transaction with database and filesystem as XA datasources. For example, I use it in a document management system - XA transactions guarantee that document data and metadata in the database are always in sync.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/355024/rss">
      <title>Patchset API</title>
      <link>http://lwn.net/Articles/355024/rss</link>
      <dc:date>2009-10-01T15:09:00+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
i.e. time to write a trivial wrapper library? Maybe, but let's get the names right first: pg_*() is pretty awful: it doesn't say 'disk writes' to me at all, it says 'PostgreSQL'!&lt;br&gt;
&lt;p&gt;
writegroup_*() might be better but is a bit long. wg_*() is shorter but somewhat opaque...&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354992/rss">
      <title>Patchset API</title>
      <link>http://lwn.net/Articles/354992/rss</link>
      <dc:date>2009-10-01T10:48:10+00:00</dc:date>
      <dc:creator>epa</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
The pg_* calls look like a great way for apps to specify exactly what they want from the filesystem.  I wonder to what extent it's possible to provide them on plain vanilla filesystems without Featherstitch.  For example, on minixfs almost every pg_* call would just do sync() or fsync(); on ext3 it would be either fsync() or a no-op depending on whether data=ordered already provides the necessary guarantees; and so on.  Then apps could start using the rich interface now, even if the kernel is at the moment a bit stupid and does things slower than it could.  Over time, the kernel can be optimized to provide the same guarantees but faster.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354959/rss">
      <title>Featherstitch: Killing fsync() softly</title>
      <link>http://lwn.net/Articles/354959/rss</link>
      <dc:date>2009-10-01T06:05:48+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Pedantic erratum: I believe you're missing a call to pg_engage(rename_pg) in the second part of your example.&lt;br&gt;
&lt;p&gt;
Thanks for a great article. It leaves me wondering -- what are the chances we application programmers will ever get a chance to play with these toys for real? Care to speculate on the viability of a patchgroup-style API showing up in real world systems over the next, I dunno, 5 years?&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
</rdf:RDF>

