<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Tar-filled pipes</title>
	<atom:link href="http://davidben.net/blog/2010/02/28/tar-filled-pipes/feed/" rel="self" type="application/rss+xml" />
	<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/</link>
	<description>Various ramblings from David Benjamin</description>
	<lastBuildDate>Sat, 01 May 2010 20:29:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: lacos</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-11</link>
		<dc:creator>lacos</dc:creator>
		<pubDate>Mon, 01 Mar 2010 20:37:04 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-11</guid>
		<description><![CDATA[Re: &lt;a href=&quot;#comment-9&quot; rel=&quot;nofollow&quot;&gt;davidben, March 1, 2010 at 11:04 am&lt;/a&gt;: yes, the NUL blocks do explain the broken pipe. IIRC I sent the inquiry to help-tar first, then went to reddit second, and saw your blog entry posted there. Thanks.]]></description>
		<content:encoded><![CDATA[<p>Re: <a href="#comment-9" rel="nofollow">davidben, March 1, 2010 at 11:04 am</a>: yes, the NUL blocks do explain the broken pipe. IIRC I sent the inquiry to help-tar first, then went to reddit second, and saw your blog entry posted there. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davidben</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-10</link>
		<dc:creator>davidben</dc:creator>
		<pubDate>Mon, 01 Mar 2010 16:14:05 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-10</guid>
		<description><![CDATA[I should probably clarify for folks --- I didn&#039;t find or investigate the Python SIGPIPE thing. Just looked into a detail of a friend&#039;s discovery I found curious.]]></description>
		<content:encoded><![CDATA[<p>I should probably clarify for folks &#8212; I didn&#8217;t find or investigate the Python SIGPIPE thing. Just looked into a detail of a friend&#8217;s discovery I found curious.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davidben</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-9</link>
		<dc:creator>davidben</dc:creator>
		<pubDate>Mon, 01 Mar 2010 16:04:38 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-9</guid>
		<description><![CDATA[lacos: Oh, the thing I wanted to poke bug-tar for was something else; all_names_found can&#039;t really reliably check if you&#039;ve exhausted a directory. The current code assumes all directories are contiguous (not sure if the spec mandates that they be contiguous... it&#039;s certainly very easy to create one where they aren&#039;t), but does the check in a somewhat strange manner such that, for non-contiguous directories, you get very different results depending on surrounding file names.

As far as I&#039;m aware, the NUL blocks should explain the SIGPIPE sending. It&#039;s a fairly tight race condition, which fits with it only occurring some of the time; there&#039;s a small enough tail that it depends on how much buffering both your filters and tar do, as well as who happens to get ahead of the other.]]></description>
		<content:encoded><![CDATA[<p>lacos: Oh, the thing I wanted to poke bug-tar for was something else; all_names_found can&#8217;t really reliably check if you&#8217;ve exhausted a directory. The current code assumes all directories are contiguous (not sure if the spec mandates that they be contiguous&#8230; it&#8217;s certainly very easy to create one where they aren&#8217;t), but does the check in a somewhat strange manner such that, for non-contiguous directories, you get very different results depending on surrounding file names.</p>
<p>As far as I&#8217;m aware, the NUL blocks should explain the SIGPIPE sending. It&#8217;s a fairly tight race condition, which fits with it only occurring some of the time; there&#8217;s a small enough tail that it depends on how much buffering both your filters and tar do, as well as who happens to get ahead of the other.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lacos (lbzip2)</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-8</link>
		<dc:creator>lacos (lbzip2)</dc:creator>
		<pubDate>Mon, 01 Mar 2010 15:13:52 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-8</guid>
		<description><![CDATA[Thank you very much for investigating the phenomenon in the tar source.

I posted an inquiry to the help-tar mailing list: http://lists.gnu.org/archive/html/help-tar/2010-03/msg00000.html

Perhaps the discussion should be migrated there (or bug-tar as you say).

Thanks,
lacos / lbzip2]]></description>
		<content:encoded><![CDATA[<p>Thank you very much for investigating the phenomenon in the tar source.</p>
<p>I posted an inquiry to the help-tar mailing list: <a href="http://lists.gnu.org/archive/html/help-tar/2010-03/msg00000.html" rel="nofollow">http://lists.gnu.org/archive/html/help-tar/2010-03/msg00000.html</a></p>
<p>Perhaps the discussion should be migrated there (or bug-tar as you say).</p>
<p>Thanks,<br />
lacos / lbzip2</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Sandy</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-7</link>
		<dc:creator>Matt Sandy</dc:creator>
		<pubDate>Mon, 01 Mar 2010 09:05:47 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-7</guid>
		<description><![CDATA[This is awesome. I actually just got a VPS (no sites on it yet) and posts like this make me happy. Sometimes simple things can be daunting if you aren&#039;t familiar, and I am a stranger to python but hope to learn.]]></description>
		<content:encoded><![CDATA[<p>This is awesome. I actually just got a VPS (no sites on it yet) and posts like this make me happy. Sometimes simple things can be daunting if you aren&#8217;t familiar, and I am a stranger to python but hope to learn.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bron Gondwana</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-6</link>
		<dc:creator>Bron Gondwana</dc:creator>
		<pubDate>Mon, 01 Mar 2010 07:40:18 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-6</guid>
		<description><![CDATA[That is interesting, and makes perfect sense.  I have written a backup system for Cyrus that makes very sneaky use of the tar format - I wound up writing a custom Perl module that can read and write tar streams without having to touch the disk - in particular they can be used to strip stale files out of a tar file by streaming it through a decider function.

I use an external gzip process, but obviously not an external tar, so I close it explicitly if I don&#039;t need to finish it.  It&#039;s possible to embed the gzip directly inside the process too, but I kind of like the &quot;use multiple cores&quot; side effect of letting a separate process do the compression.]]></description>
		<content:encoded><![CDATA[<p>That is interesting, and makes perfect sense.  I have written a backup system for Cyrus that makes very sneaky use of the tar format &#8211; I wound up writing a custom Perl module that can read and write tar streams without having to touch the disk &#8211; in particular they can be used to strip stale files out of a tar file by streaming it through a decider function.</p>
<p>I use an external gzip process, but obviously not an external tar, so I close it explicitly if I don&#8217;t need to finish it.  It&#8217;s possible to embed the gzip directly inside the process too, but I kind of like the &#8220;use multiple cores&#8221; side effect of letting a separate process do the compression.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://davidben.net/blog/2010/02/28/tar-filled-pipes/comment-page-1/#comment-5</link>
		<dc:creator>John</dc:creator>
		<pubDate>Mon, 01 Mar 2010 04:34:23 +0000</pubDate>
		<guid isPermaLink="false">http://davidben.scripts.mit.edu/blog/?p=121#comment-5</guid>
		<description><![CDATA[Jeebus, thank you so much for posting this. I ran into this issue a couple weeks ago and it was pretty difficult to debug given that it only happened on a specific build machine for some reason. I&#039;ll sleep better tonight knowing that there&#039;s nothing more insidious going on.]]></description>
		<content:encoded><![CDATA[<p>Jeebus, thank you so much for posting this. I ran into this issue a couple weeks ago and it was pretty difficult to debug given that it only happened on a specific build machine for some reason. I&#8217;ll sleep better tonight knowing that there&#8217;s nothing more insidious going on.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
