<br><br><div class="gmail_quote">On Tue, Jan 22, 2013 at 10:39 PM, Shishir Gowda <span dir="ltr">&lt;<a href="mailto:sgowda@redhat.com" target="_blank">sgowda@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
Currently I see that almost all the xlators in glusterfs do not handle EAGAIN/EBUSY errors.<br>
<br>
Though this should be handled by the applications,</blockquote><div><br></div><div>If by &quot;handle by application&quot; you meant &quot;handled by retrying syscall by application&quot;, that is not completely true. More generally it is true for EINTR, and some places for EAGAIN (i.e when used on non-blocking pollable file descriptors like sockets - which specifically does NOT include filesystem for regular read/write). EBUSY almost always does not suggest a poll/retry to the application.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> there are multiple paths where the op&#39;s are not performed by the applications (but are internal to glusterfs).<br>

<br>
Few of these are<br>
 a. Rebalance<br>
 b. Replace brick<br>
 c. Self-heal<br>
 d. lk&#39;s<br>
etc...<br>
<br>
With the proposed snap feature (<a href="http://www.gluster.org/community/documentation/index.php/Features/snapshot" target="_blank">http://www.gluster.org/community/documentation/index.php/Features/snapshot</a>), would it not be better to identify such op&#39;s inside glusterfs?<br>

<br></blockquote><div><br></div><div>Can you explain more on that? Why is that necessary?</div><div><br></div><div>Thanks,</div><div>Avati</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Irrespective of the snap feature, I think it is about correctness to handle EAGAIN/EBUSY in these code paths.<br>
<br>
Please comment.<br>
<br>
With regards,<br>
Shishir<br>
<br>
<br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@nongnu.org">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>
</blockquote></div><br>