<?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/339421/">
    <title>LWN: Comments on "In brief"</title>
    <link>http://lwn.net/Articles/339421/</link>
    <description>
This is a special feed containing comments posted
to the individual LWN article titled &quot;In brief&quot;.

    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/340110/rss" />
	<rdf:li resource="http://lwn.net/Articles/340035/rss" />
	<rdf:li resource="http://lwn.net/Articles/340032/rss" />
	<rdf:li resource="http://lwn.net/Articles/340031/rss" />
	<rdf:li resource="http://lwn.net/Articles/340030/rss" />
	<rdf:li resource="http://lwn.net/Articles/340029/rss" />
	<rdf:li resource="http://lwn.net/Articles/340028/rss" />
	<rdf:li resource="http://lwn.net/Articles/340014/rss" />
	<rdf:li resource="http://lwn.net/Articles/339918/rss" />
	<rdf:li resource="http://lwn.net/Articles/339911/rss" />
	<rdf:li resource="http://lwn.net/Articles/339909/rss" />
	<rdf:li resource="http://lwn.net/Articles/339883/rss" />
	<rdf:li resource="http://lwn.net/Articles/339822/rss" />
	<rdf:li resource="http://lwn.net/Articles/339807/rss" />
	<rdf:li resource="http://lwn.net/Articles/339806/rss" />
	<rdf:li resource="http://lwn.net/Articles/339804/rss" />
	<rdf:li resource="http://lwn.net/Articles/339802/rss" />
	<rdf:li resource="http://lwn.net/Articles/339799/rss" />
	<rdf:li resource="http://lwn.net/Articles/339796/rss" />
	<rdf:li resource="http://lwn.net/Articles/339795/rss" />
	<rdf:li resource="http://lwn.net/Articles/339791/rss" />
	<rdf:li resource="http://lwn.net/Articles/339786/rss" />
	<rdf:li resource="http://lwn.net/Articles/339783/rss" />
	<rdf:li resource="http://lwn.net/Articles/339777/rss" />
	<rdf:li resource="http://lwn.net/Articles/339591/rss" />
	<rdf:li resource="http://lwn.net/Articles/339572/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/340110/rss">
      <title>How about O_TSO_ME_HARDER</title>
      <link>http://lwn.net/Articles/340110/rss</link>
      <dc:date>2009-07-06T18:55:49+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Of course that is a bad name for the flag because people will think it has &lt;br&gt;
something to do with offloading TCP to network cards! ;}&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340035/rss">
      <title>How about O_TSO_ME_HARDER</title>
      <link>http://lwn.net/Articles/340035/rss</link>
      <dc:date>2009-07-06T03:49:26+00:00</dc:date>
      <dc:creator>bronson</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Brilliant.  Of course, the Linux kernel already provides this behavior.  Adding the flag would just make it explicit.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340032/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/340032/rss</link>
      <dc:date>2009-07-06T00:45:10+00:00</dc:date>
      <dc:creator>sbergman27</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
No. Not 10s.&lt;br&gt;
&lt;p&gt;
Linus was specifically *trying* to see how long he could make it stall. And by the time the the other problems were fixed, it was hard for him to force a 2 second latency:&lt;br&gt;
&lt;p&gt;
&lt;a href=&quot;http://lwn.net/Articles/328381/&quot;&gt;http://lwn.net/Articles/328381/&lt;/a&gt;&lt;br&gt;
&lt;p&gt;
Once the data=writeback default was put into place, it became hard for him to force a 600ms latency.&lt;br&gt;
&lt;p&gt;
The original latencies were *far* longer than 2s. (30 seconds had been reported by some. Though such reports did not seem common.) The change of journaling mode ended up bringing the worst case down by a mere 1400ms.&lt;br&gt;
&lt;p&gt;
&lt;p&gt;
And considering that the common case (as opposed to the relatively rarely seen worst case) was livable enough that it took 8 years for anyone to care enough to attack the problem, I'd call the final change of default journaling mode to cut the worst case by a final 1400ms a flourish.&lt;br&gt;
&lt;p&gt;
And Linus never &quot;insisted&quot; on the data=writeback default. Ted suggested it. And in view of the ext4 patches that Ted was suggesting be moved over to ext3 to mitigate the worst (but not all) of the resulting reliability issues, Linus said OK, let's do that.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340031/rss">
      <title>How about O_TSO_ME_HARDER</title>
      <link>http://lwn.net/Articles/340031/rss</link>
      <dc:date>2009-07-06T00:06:14+00:00</dc:date>
      <dc:creator>jordanb</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
In which, depending upon the state of lkml politics when the kernel in use was released, the filesystem on the device, and changes possibly made by the distribution, ether you *must* use fsync early and often to avoid losing data, *or* using fsync will be prohibitively expensive. &lt;br&gt;
&lt;p&gt;
Or possibly both. &lt;br&gt;
&lt;p&gt;
At any rate no matter what choice you make when using the flag, condescending kernel developers will make obnoxious pandering statements about how you're too stupid to make the obvious correct choice.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340030/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/340030/rss</link>
      <dc:date>2009-07-05T23:55:05+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Actually my understanding is that nobody realised how bad the latencies &lt;br&gt;
could get. Linus insisted on the data=writeback default after running &lt;br&gt;
tests with all the other patches in place showing enormously variable and &lt;br&gt;
sometimes terrible fsync() latencies from tiny file writes when there was &lt;br&gt;
a large dd going on in the background. Switching to writeback eliminated &lt;br&gt;
those latencies.&lt;br&gt;
&lt;p&gt;
So, not a 'flourish', unless you consider taking 10s to save a 500 byte &lt;br&gt;
file a mere irrelevance.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340029/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/340029/rss</link>
      <dc:date>2009-07-05T22:50:03+00:00</dc:date>
      <dc:creator>sbergman27</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Yes. That's the only change that I recall that would affect reliability. But you were also saying that once you turn on data=ordered that you get back all the latency issues. Much of what was done to ext3 and the default io scheduler in 2.6.30, aside from changing the default journaling mode, was aimed at cutting latencies on fsync. (That work was important enought that Linus threatened to change the default i/o scheduler of Jens couldn't fix the problems it was causing ext3. Jen's quickly complied.) The fact that there was an &quot;obvious&quot; reason (data=ordered) for ext3 latencies resulted in the *real* reasons going undetected for years because &quot;everybody knew&quot; it was just the penalty of the way daya=ordered worked.&lt;br&gt;
&lt;p&gt;
After the real problems were resolved, setting the default to data=writeback seemed mostly a final flourish, since Ted had patches to help mitigate the worst of the unreliability it would cause. I suspect that the default would not have been changed if the latency thing had not been such a long-standing issue. (One tends to swat hard-to-swat flies harder when one finally does get them.) And, of course, Ted really wanted to see the data=ordered default go away, since it was making ext4 look bad by comparison.&lt;br&gt;
&lt;p&gt;
It's the combination of the change of default journaling mode *and* the relative painlessness of fsync on 2.6.30+ ext3 that make ext3 a very different animal from pre-2.6.30 ext3 for developers. They really have to be talked about separately. &lt;br&gt;
&lt;p&gt;
And yes, the default journaling mode can also be specified in the superblock. But that is still *totally* irelevant to the developer. The developer can mount his own filesystems with any options he wants. But it doesn't make a bit of difference to what happens when his *users* try to run his software on *their* machines. &lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340028/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/340028/rss</link>
      <dc:date>2009-07-05T22:26:49+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;blockquote&gt;
No. Much more happened than that.
&lt;/blockquote&gt;
Cite? That was the only change that was at all likely to affect 
reliability that I can recall. (And yes, I read those threads.)
&lt;p&gt;
You can also turn on data=ordered in the superblock, following which it 
is 'sticky' and requires no action whatsoever. (Software developers, of 
course, have no control over which of these options sysadminss choose: nor 
have they ever. Nothing has changed here.)
&lt;p&gt;
Personally I've been cutting the power nightly on a KDE3 installation 
running atop ext4 and have had, uh, no problems whatsoever. No vanishing 
config files, no mysterious corruption, nothing. It makes me wonder how 
serious this whole thing really could have been...
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340014/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/340014/rss</link>
      <dc:date>2009-07-05T12:39:48+00:00</dc:date>
      <dc:creator>sbergman27</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
No. Much more happened than that. And software developers, who are the audience for O_PONIES, cannot just add &quot;data=ordered&quot; to their all their user's mount lines. From a developer's perspective, radical changes have been made to what they can expect out of ext3.&lt;br&gt;
&lt;p&gt;
And while data=ordered does add back some latency, they had already resolved the bulk of what issue there was *before* they changed the default mount behavior. That was the last change they made, along with adding in some of Ted's damage mitigation patches from Ext4 to keep the situation from becoming quite the total disaster that was ext4's (lack of) reliability when it was first declared &quot;ready&quot;.&lt;br&gt;
&lt;p&gt;
Read the related LKML family of threads.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339918/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339918/rss</link>
      <dc:date>2009-07-03T20:27:49+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I'd not call 'flipping the data=writeback mount option on by default' &lt;br&gt;
a 'radical change'. add 'data=ordered' to your mount lines, or set the &lt;br&gt;
EXT3_DEFAULTS_TO_ORDERED config option, and bingo, exactly right back &lt;br&gt;
where we were before, huge and unpredictably horrible latencies and all.&lt;br&gt;
&lt;p&gt;
Radical change? I don't think so.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339911/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339911/rss</link>
      <dc:date>2009-07-03T19:51:32+00:00</dc:date>
      <dc:creator>sbergman27</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I believe that in kernel 2.6.30 and later, it is useful for ext3, and does not result in the delays you are thinking about. Ext3 was rather radically changed during the 2.6.30 development cycle. It is no longer the same bullet-proof fs which we had come to know and love.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339909/rss">
      <title>In brief</title>
      <link>http://lwn.net/Articles/339909/rss</link>
      <dc:date>2009-07-03T19:45:15+00:00</dc:date>
      <dc:creator>sbergman27</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
No. There was nothing about that in 2010. You're thinking of Star Trek:The Motion Picture.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339883/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339883/rss</link>
      <dc:date>2009-07-03T16:55:51+00:00</dc:date>
      <dc:creator>quotemstr</dc:creator>
      <description>
      I'm firmly in the &lt;code&gt;fsync&lt;/code&gt;-is-horrible-renames-should-be-write-barriers camp, but if you want to expose a way to for an application to tell whether it should &lt;code&gt;fsync&lt;/code&gt; or not, the best way is to use the existing &lt;a href=&quot;http://www.opengroup.org/onlinepubs/009695399/functions/pathconf.html&quot;&gt;&lt;code&gt;pathconf&lt;/code&gt;&lt;/a&gt; mechanism. Using that, an application can just ask the kernel, &quot;Do I need to fsync &lt;i&gt;this particular file&lt;/i&gt;?&quot;. It's much more elegant than trying to have applications puzzle it out from filesystem-type information.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339822/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339822/rss</link>
      <dc:date>2009-07-03T03:40:48+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I thought all the problems here were with rewriting an existing file. What does O_CREAT have to do with anything?&lt;br&gt;
&lt;p&gt;
(There are lots of programs that open a file with O_WRONLY|O_TRUNC and expect their writes to spool out over time. Log files are one obvious example.)&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339807/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339807/rss</link>
      <dc:date>2009-07-03T00:19:22+00:00</dc:date>
      <dc:creator>mjg59</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Right. My personal opinion is that Linux filesystems should be expected to behave atomically here - POSIX is a set of baselevel functionality, not an excuse for doing something that breaks applications. If people want portability to platforms that don't make these guarantees then they'll have to make some kind of sacrifice. I don't see adding extra flags as the best way of handling this.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339806/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339806/rss</link>
      <dc:date>2009-07-02T23:57:54+00:00</dc:date>
      <dc:creator>mikov</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Alas, I think there is probably no easy and beautiful solution to this one, especially from the application programmer's perspective. I wouldn't advice on relying on Linux specific behavior, which at that will presumably be available only in newest kernels, for such a basic task.&lt;br&gt;
&lt;p&gt;
Instead I would suggest one of:&lt;br&gt;
&lt;p&gt;
- Put all the error prone logic (the temporary file, fsync(), permission and attribute copying, etc) in a portable library routine relying only on POSIX and simply live with the fsync() overhead on ext3.&lt;br&gt;
&lt;p&gt;
or&lt;br&gt;
&lt;p&gt;
- Again put it in a portable library routine, but without the fsync(). The rename problem has already been addressed in ext4, so it is safe, and in ext3 there is a global sync frequently enough that it isn't a problem in practice (explaining why nobody ever complained about it before ext4).&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339804/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339804/rss</link>
      <dc:date>2009-07-02T23:40:19+00:00</dc:date>
      <dc:creator>mjg59</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Look at it from the application programmer's perspective. There's no way to tell the difference between ext3 and ext4 - they return the same magic number in the statfs call. So an application can't decide whether to use fsync() or not at runtime. Given that applications have to run well on ext3, fsync() is simply not an option. Unfortunate, but there you go.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339802/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339802/rss</link>
      <dc:date>2009-07-02T23:36:11+00:00</dc:date>
      <dc:creator>mikov</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Yes, but this is a problem in ext3 not in the syscall. It seems like a horrible idea to address problems in one file-system implementation by adding new Linux specific behavior to existing syscalls. &lt;br&gt;
&lt;p&gt;
Adding transaction semantics to the file system in this one case is the road to madness. Fortunately I think that it has very little chance of being accepted in the kernel.&lt;br&gt;
&lt;p&gt;
(Also, you can see my other response to spitzak below).&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339799/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339799/rss</link>
      <dc:date>2009-07-02T23:32:23+00:00</dc:date>
      <dc:creator>mikov</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Although you make good points, I have two disagree with both of them:&lt;br&gt;
&lt;p&gt;
1. With ext3 fsync() behaves like sync() which is way too expensive. This is a real problem, but it is a problem in ext3 not in creat(). Changing POSIX or adding new flags to address a specific performance problem in ext3 is simply wrong.&lt;br&gt;
&lt;p&gt;
2. Nobody ever expected that they can simply rewrite a file and get atomic behavior in the face of crash. The file system is not a transaction DB nor should it be. &lt;br&gt;
&lt;p&gt;
The incorrect code which is causing the infamous &quot;zero length after reboot files&quot; consists of creating a temporary file and renaming it, but without the fsync(). &lt;br&gt;
&lt;p&gt;
The only difference in the correct version of the code is the addition of fflush(), fsync() and more error checking. &lt;br&gt;
&lt;p&gt;
So, I think that the proposed new flag, or alternatively your suggestion to treat a combination of flags in a special way, is a bad idea. They lend hidden Linux-specific semantics to the FS in just one case. This is simply awful.&lt;br&gt;
&lt;p&gt;
In my opinion the correct way to approach this problem would be one of:&lt;br&gt;
a) Guarantee that meta-data changes occur after data changes. Thus the rename should only be committed to disk after the contents of the file have been committed to disk. This is not required by POSIX, but is what most other filesystems do anyway.&lt;br&gt;
&lt;p&gt;
b) Introduce a new version of fsync() acting like a barrier. It does not stall the application, but it guarantees that any subsequent operations on this file have to occur after the previous ones have been committed to disk. So, fsync_improved() will cause no delay for the application or system, but will impose the necessary ordering.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339796/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339796/rss</link>
      <dc:date>2009-07-02T22:08:54+00:00</dc:date>
      <dc:creator>spitzak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I also want to point out that I suggest that an existing arrangement of flags (the three used by creat()) should do this, so no extra flag is needed.&lt;br&gt;
&lt;p&gt;
The &quot;official&quot; solution has a lot of problems: you need to invent a non-colliding temporary name, that temporary file is visible  while the file is being written, and may remain permanently on disk if a crash happens. And the fsync has serious amounts of overhead if you are doing a very large number of these files.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339795/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339795/rss</link>
      <dc:date>2009-07-02T22:04:50+00:00</dc:date>
      <dc:creator>spitzak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
fsync() does much *more* than is required by the program.&lt;br&gt;
&lt;p&gt;
All the program wants is for the old file to be atomically replaced with the new file. It is ok if after a crash the old file remains and none of the new file is on disk. fsync forces far more i/o than this requires. What is unacceptable is that after a crash a state other than oldfile or newfile can be the result.&lt;br&gt;
&lt;p&gt;
Another way of looking at this is we want the effects of fsync, but deferred until just at the moment the actual rename is done on the disk (this is ok as the disk is being written to anyway).&lt;br&gt;
&lt;p&gt;
Yet another way is to follow the POSIX spec which says that we should never see any state other than the old or new file, and that fsync is not required for this to happen. Of course POSIX does not say what happens if the machine crashes, but I think any acceptable crash recovery should match the POSIX spec as much as possible, otherwise it is not really a crash recovery.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339791/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339791/rss</link>
      <dc:date>2009-07-02T21:18:29+00:00</dc:date>
      <dc:creator>mjg59</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
It &quot;works&quot; in the sense that it's technically correct. It's just not useful on ext3, where doing so will often cause a huge pile of disk i/o and block you for an irritatingly long period of time.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339786/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339786/rss</link>
      <dc:date>2009-07-02T20:58:33+00:00</dc:date>
      <dc:creator>mikov</dc:creator>
      <description>
      &lt;blockquote&gt;His comments claiming that fsync() is the correct way to do things shows however that he still does not have the foggiest idea what programmers want and need, which is very disturbing for somebody who should be an expert on this stuff.&lt;/blockquote&gt;

&lt;p&gt;What do you mean?

&lt;p&gt;The &quot;correct&quot; sequence of renames, temporary files and fsync-s is relatively complex and error-prone, however it does work and I don't see such a big advantage in adding a flag which too requires changing the existing sources.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339783/rss">
      <title>O_PONIES</title>
      <link>http://lwn.net/Articles/339783/rss</link>
      <dc:date>2009-07-02T20:51:29+00:00</dc:date>
      <dc:creator>spitzak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Rik's idea is certainly what is wanted by everybody, in fact I think creat() (and thus the flag set O_CREAT|O_WRONLY|O_TRUNC) should work this way and that change is unlikely to break any programs and will fix a lot of programs.&lt;br&gt;
&lt;p&gt;
His comments claiming that fsync() is the correct way to do things shows however that he still does not have the foggiest idea what programmers want and need, which is very disturbing for somebody who should be an expert on this stuff.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339777/rss">
      <title>In brief</title>
      <link>http://lwn.net/Articles/339777/rss</link>
      <dc:date>2009-07-02T20:14:31+00:00</dc:date>
      <dc:creator>SimonKagstrom</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I believe it's from Arthur C. Clarkes book &quot;2010&quot;. The voyager probe is picked up by aliens, but sadly in a bad state. Some of the characters on the name plate has been wiped away, thus &quot;vger&quot;.&lt;br&gt;
&lt;p&gt;
Or maybe I remember something completely different :-)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339591/rss">
      <title>In brief</title>
      <link>http://lwn.net/Articles/339591/rss</link>
      <dc:date>2009-07-02T10:15:05+00:00</dc:date>
      <dc:creator>jamesh</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I'd always assumed that the hostname was a reference to the artificial intelligence from the first Star Trek movie.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339572/rss">
      <title>In brief</title>
      <link>http://lwn.net/Articles/339572/rss</link>
      <dc:date>2009-07-02T08:57:25+00:00</dc:date>
      <dc:creator>oseemann</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
After reading &lt;a href=&quot;http://en.wikipedia.org/wiki/NCR_Voyager&quot;&gt;http://en.wikipedia.org/wiki/NCR_Voyager&lt;/a&gt; I wonder if that is the origin of the name vger.kernel.org?&lt;br&gt;
&lt;/div&gt;

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

