<p dir="ltr">Hi Anand, </p>
<p dir="ltr">Yes I tried both things you mention and they work just fine. </p>
<p dir="ltr">Thanks </p>
<div class="gmail_quote">On Feb 5, 2014 9:29 PM, &quot;Anand Avati&quot; &lt;<a href="mailto:avati@gluster.org">avati@gluster.org</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">The nop xlator by itself seems OK. Have you tried the stripe config with the nop xlator on top? or even without the nop xlator?<div><br></div><div>Avati</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Wed, Feb 5, 2014 at 3:26 PM, Lluís Pàmies i Juárez <span dir="ltr">&lt;<a href="mailto:llpamies@pamies.cat" target="_blank">llpamies@pamies.cat</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Hello,<div><br></div><div>As a proof of concept I&#39;m trying to write a xlator that does nothing, I call it &quot;nop&quot;. The code for &quot;nop.c&quot; is simply:</div><div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">


<div><div><font face="courier new, monospace">#include &quot;config.h&quot;</font></div></div><div><div><font face="courier new, monospace">#include &quot;call-stub.h&quot;</font></div></div><div><div><font face="courier new, monospace">struct xlator_fops fops = {};</font></div>


</div><div><div><font face="courier new, monospace">struct xlator_cbks cbks = {};</font></div></div><div><div><font face="courier new, monospace">struct xlator_dumpops dumpops = {};</font></div></div><div><div><font face="courier new, monospace">struct volume_options options[] = {{.key={NULL}},};</font></div>


</div><div><div><font face="courier new, monospace">int32_t init (xlator_t *this){return 0;}</font></div></div><div><div><font face="courier new, monospace">int fini (xlator_t *this){return 0;}</font></div></div></blockquote>


<div><div><br></div><div>And I compile it with:</div><div><div><font face="courier new, monospace">$ gcc -fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DGF_LINUX_HOST_OS -shared -nostartfiles -lglusterfs -lpthread -I${GFS} -I${GFS}/libglusterfs/src -I${GFS}/contrib/uuid nop.c -o nop.so</font></div>


</div><div><br></div><div>Then, if I try a test.vol file like that:</div><div><br></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><div><font face="courier new, monospace">volume test-posix</font></div>


</div></div><div><div><div><font face="courier new, monospace">    type storage/posix</font></div></div></div><div><div><div><font face="courier new, monospace">    option directory /home/llpamies/Projects/gluster/test-split/node0-data</font></div>


</div></div><div><div><div><font face="courier new, monospace">end-volume</font></div></div></div><div><div><div><font face="courier new, monospace"><br></font></div></div></div><div><div><div><font face="courier new, monospace">volume test-nop</font></div>


</div></div><div><div><div><font face="courier new, monospace">    type features/nop</font></div></div></div><div><div><div><font face="courier new, monospace">    subvolumes test-posix</font></div></div></div><div><div>

<div>
<font face="courier new, monospace">end-volume</font></div></div></div><div><div><div><font face="courier new, monospace"><br></font></div></div></div><div><div><div><font face="courier new, monospace">volume test-cache</font></div>


</div></div><div><div><div><font face="courier new, monospace">  type performance/io-cache</font></div></div></div><div><div><div><font face="courier new, monospace">  subvolumes test-nop</font></div></div></div><div><div>


<div><font face="courier new, monospace">end-volume</font></div></div></div></blockquote><div><div><br></div><div>and mount it with:</div><div><font face="courier new, monospace">$ glusterfs --debug -f test.vol /mount/point</font></div>


<div><br></div><div>It seems to work fine, doing nothing. However, when used together with the stripe xlator as follows:<br></div><div><br></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>


<div><div><font face="courier new, monospace">volume test-posix0</font></div></div></div><div><div><div><font face="courier new, monospace">    type storage/posix</font></div></div></div><div><div><div><font face="courier new, monospace">    option directory /home/llpamies/Projects/gluster/test-split/node0-data</font></div>


</div></div><div><div><div><font face="courier new, monospace">end-volume</font></div></div></div><div><div><div><font face="courier new, monospace"><br></font></div></div></div><div><div><div><font face="courier new, monospace">volume test-posix1</font></div>


</div></div><div><div><div><font face="courier new, monospace">    type storage/posix</font></div></div></div><div><div><div><font face="courier new, monospace">    option directory /home/llpamies/Projects/gluster/test-split/node1-data</font></div>


</div></div><div><div><div><font face="courier new, monospace">end-volume</font></div></div></div><div><div><div><font face="courier new, monospace"><br></font></div></div></div><div><div><div><font face="courier new, monospace">volume test-nop0</font></div>


</div></div><div><div><div><font face="courier new, monospace">    type features/nop</font></div></div></div><div><div><div><font face="courier new, monospace">    subvolumes test-posix0</font></div></div></div><div><div>


<div><font face="courier new, monospace">end-volume</font></div></div></div><div><div><div><font face="courier new, monospace"><br></font></div></div></div><div><div><div><font face="courier new, monospace">volume test-nop1</font></div>


</div></div><div><div><div><font face="courier new, monospace">    type features/nop</font></div></div></div><div><div><div><font face="courier new, monospace">    subvolumes test-posix1</font></div></div></div><div><div>


<div><font face="courier new, monospace">end-volume</font></div></div></div><div><div><div><font face="courier new, monospace"><br></font></div></div></div><div><div><div><font face="courier new, monospace">volume test-stripe</font></div>


</div></div><div><div><div><font face="courier new, monospace">    type cluster/stripe</font></div></div></div><div><div><div><font face="courier new, monospace">    subvolumes test-nop0 test-nop1</font></div></div></div>


<div><div><div><font face="courier new, monospace">end-volume</font></div></div></div></blockquote><div><div><br></div><div>Glusterfs hangs during the first fuse lookup for &quot;.Trash&quot;, and /mount/point looks unmounted with ???? permissions etc.</div>


<div><br></div><div>Does it look like some bug in the stripe xlator or is there something fundamentally wrong with the nop xlator?</div><div><br></div><div>Thank you,</div><span><font color="#888888"><div>
 </div>-- <br>Lluís</font></span></div></div>
<br>_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@nongnu.org" target="_blank">Gluster-devel@nongnu.org</a><br>
<a href="https://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">https://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
<br></blockquote></div><br></div>
</blockquote></div>