<html><head></head><body>Or get tar to change their behavior?<br><br><div class="gmail_quote">On December 21, 2014 9:40:08 AM PST, &quot;David F. Robinson&quot; &lt;david.robinson@corvidtec.com&gt; wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">So for now it is up to all of the individual users to know they cannot use tar without the -P switch if they are accessing a data storage system that uses gluster? <br /><br />David  (Sent from mobile)<br /><br /><hr /><br />David F. Robinson, Ph.D. <br />President - Corvid Technologies<br />704.799.6944 x101 [office]<br />704.252.1310      [cell]<br />704.799.7974      [fax]<br />David.Robinson@corvidtec.com<br /><a href="http://www.corvidtechnologies.com">http://www.corvidtechnologies.com</a><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> On Dec 21, 2014, at 12:30 PM, Vijay Bellur &lt;vbellur@redhat.com&gt; wrote:<br /> <br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> On 12/20/2014 12:09 PM, David F. Robinson wrote:<br /> Seems to work with "-xPf".  I obviously couldn't check all of the files,<br /> but
the two specific ones that I noted in my original email do not show<br /> any problems when using -P...<br /></blockquote> <br /> This is related to the way tar extracts symbolic links by default &amp; its interaction with GlusterFS. In a nutshell the following steps are involved in creation of symbolic links on the destination:<br /> <br /> a) Create an empty regular placeholder file with permission bits set to 0 and the name being that of the symlink source file.<br /> <br /> b) Record the device, inode numbers and the mtime of the placeholder file through stat.<br /> <br /> c) After the first pass of extraction is complete, there is a second pass involved to set right symbolic links. In this phase a stat is performed on the placeholder file. If all attributes recorded in b) are in sync with the latest information from stat buf, only then the placeholder is unlinked and a new symbolic link is created. If any attribute is out of sync, the unlink and creation of symbolic link do not
happen.<br /> <br /> In the case of replicated GlusterFS volumes, the mtimes can vary across nodes during the creation of placeholder files. If the stat calls in steps b) and c) land on different nodes, then there is a very good likelihood that tar would skip creation of symbolic links and leave behind the placeholder files.<br /> <br /> A little more detail about this particular implementation behavior of symlinks for tar can be found at [1].<br /> <br /> To overcome this behavior, we can make use of the P switch with tar command during extraction which will create the link file directly and not go ahead with the above set of steps.<br /> <br /> Keeping timestamps in sync across the cluster will help to an extent in preventing this situation. There are ongoing refinements in replicate's selection of read-child which will help in addressing this problem.<br /> <br /> -Vijay<br /> <br /> [1] <a
href="http://lists.debian.org/debian-user/2003/03/msg03249.html">http://lists.debian.org/debian-user/2003/03/msg03249.html</a><br /> <br /></blockquote><hr /><br />Gluster-devel mailing list<br />Gluster-devel@gluster.org<br /><a href="http://www.gluster.org/mailman/listinfo/gluster-devel">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br /></pre></blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>