Hi everyone,<div><br></div><div>As some of you may know, the presence of files/directories which have different GFID&#39;s on different backends can cause the GlusterFS client to throw up errors, or even hang. Among others, we&#39;ve had users of Enomaly affected by this issue.</div>
<div><br></div><div>A little background on GFIDs:</div><div><br></div><div>Each file/directory on a Gluster volume has a unique 128-bit number associated with it called the GFID. This is true regardless of Gluster configuration (distribute or distribute/replicate). One inode, one GFID.</div>
<div><br></div><div>The GFID is stored on the backend as the value of the extended attribute &quot;trusted.gfid&quot;. Under normal circumstances, the value of this attribute is the same on all the backend bricks. However, certain conditions can cause the value on one or more of the bricks to differ from that on the other bricks. This causes the GlusterFS client to become confused and throw up errors. This applies to both the 3.1.5 and 3.2.1 versions of the filesystem, and previous versions in those series.</div>
<div><br></div><div>In a future bugfix release GlusterFS will fix this issue automatically when it detects it. Until then, if you encounter this problem, please use the following set of tools to manually fix it on the backends:</div>
<div><br></div><div><a href="https://github.com/vikasgorur/gfid">https://github.com/vikasgorur/gfid</a></div><div><br></div><div>The repository contains the tools as well as a README that explains how to use them.</div><div>
<br></div><div>Your questions and comments are welcome.</div><div><br></div><div>-- <br><div>Vikas Gorur</div><div>Engineer - Gluster</div><div><br></div><br>
</div>