<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 12, 2017 at 4:44 PM, Raghavendra G <span dir="ltr">&lt;<a href="mailto:raghavendra.hg@gmail.com" target="_blank">raghavendra.hg@gmail.com</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"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Thu, Jan 12, 2017 at 4:35 PM, Raghavendra G <span dir="ltr">&lt;<a href="mailto:raghavendra.hg@gmail.com" target="_blank">raghavendra.hg@gmail.com</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"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Thu, Jan 12, 2017 at 9:20 AM, B.K.Raghuram <span dir="ltr">&lt;<a href="mailto:bkrram@gmail.com" target="_blank">bkrram@gmail.com</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">cc&#39;ing devel as well for some developer insight..<br><br><div><div class="gmail_quote">---------- Forwarded message ----------<br>To: gluster-users &lt;<a href="mailto:gluster-users@gluster.org" target="_blank">gluster-users@gluster.org</a>&gt;<br><br><br><div dir="ltr"><div><div>I had a question on the expected behaviour of simple distributed volumes when a brick fails for the following scenarios (as in, will the scenario succeed for fail) :<br><br></div>- New file creation if that file name hashes to the failed brick<br></div></div></div></div></div></blockquote></span><div><br>Fails<br></div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr"><div>- New file creation if that file name hashes to one of the remaining functional brick<br></div></div></div></div></div></blockquote><div><br></div></span><div>Succeeds <br><br></div><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr"><div>- New directory creation if that file name hashes to the failed brick<br></div></div></div></div></div></blockquote></span><div><br>Fails<br></div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr"><div>- New directory creation if that file name hashes to one of the remaining functional brick<br></div></div></div></div></div></blockquote><div><br></div></span><div>Succeeds. Layout is spread only to the functional bricks. Non-functional bricks are not part of layout of the directory. In other words files of the directory won&#39;t be stored in non-functional bricks<br> <br></div><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr"><div></div>- File modifications/deletions  if that file name hashes to the failed brick<br></div></div></div></div></blockquote><div><br></div></span><div>Fails<br></div></div></div></div></blockquote><div><br></div></span><div>Fails mostly. However, let&#39;s say if the inode of file has been looked up when hashed-brick was up, then operations succeed even if hashed-brick goes down later.</div></div></div></div></blockquote><div><br></div><div>Sorry, I forgot to mention that this can happen only if actual file (data-file) is stored on non-hashed brick and hashed-brick contains a linkto file. If data-file is present on hashed brick and it goes down, access fails always.<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> Following sequence of ops succeed:<br><br></div><div>1. hashed-brick up<br></div><div>2. Lookup (file) =&gt; success<br></div><div>3. open (file) =&gt; success (fd)<br></div><div>4. hashed-brick goes down<br></div><div>5. write/read (fd) =&gt; success<br></div><div> <br></div><div>Note that if the inode is cached in vfs/kernel after 2, even path based operations like stat, open, chmod etc can succeed if hashed-brick goes down immediately after successful lookup. The point is only fresh lookups fail if hashed brick/subvol is down.<br><br></div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> <br></div><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr">- File modifications/deletions if that file name hashes to one of the remaining functional brick<br></div></div></div></div></blockquote><div><br></div></span><div>Succeeds<br> <br></div><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr">- Directory renames/deletions  if that file name hashes to the failed brick<br></div></div></div></div></blockquote><div><br></div></span><div>Fails<br> <br></div><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr">- Directory renames/deletions if that file name hashes to one of the remaining functional brick<br></div></div></div></div></blockquote><div><br></div></span><div>Fails<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div dir="ltr"></div>
</div><br></div></div>
<br>______________________________<wbr>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman<wbr>/listinfo/gluster-devel<span class="m_8777634037400424029HOEnZb"><font color="#888888"><br clear="all"><br>-- <br><div class="m_8777634037400424029m_6340416385658890187gmail_signature" data-smartmail="gmail_signature">Raghavendra G<br></div>
<br></font></span></a></blockquote></div><a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">
</a></div></div>
</blockquote></span></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div class="m_8777634037400424029gmail_signature" data-smartmail="gmail_signature">Raghavendra G<br></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Raghavendra G<br></div>
</div></div>