<div dir="ltr"><h2 style="box-sizing:border-box;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;margin-top:0px"><p style="font-weight:normal;box-sizing:border-box;margin-top:0px;margin-bottom:16px;font-size:14px">Jeff had opened a github issue #280 [1] regarding the $subject, and we were discussing some possibilities, and discussed below in github. I am cross posting it here so it can catch more eyes.</p><p style="font-weight:normal;box-sizing:border-box;margin-top:0px;margin-bottom:16px;font-size:14px">------</p><p style="font-weight:normal;box-sizing:border-box;margin-top:0px;margin-bottom:16px;font-size:14px"><span style="font-size:small">Solution proposal.</span></p></h2><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px">Some basic possibilities:</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px"><li style="box-sizing:border-box;margin-left:0px">Convert errno to error-code in syscall.h itself, so any code inside glusterfs, we only deal with error code. (ie, from posix itself, errno won&#39;t exist, but error-code).</li><li style="box-sizing:border-box;margin-top:0.25em;margin-left:0px">Convert back to errno in interface layer like fuse/gfapi.</li></ul><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px">To do this, we need an interface, where give a errno, we need a corresponding error-code. And given an error-code, we need what errno it is, and possible error message to log for the given error code.</p><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px">Currently, the implementation in &#39;experimental&#39; branch is to have all this taken care inĀ <code style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,&quot;Liberation Mono&quot;,Menlo,Courier,monospace;font-size:11.9px;padding:0.2em 0px;margin:0px;background-color:rgba(27,31,35,0.05);border-radius:3px">compat-errno.{c,h}</code>. Further feedback welcome.</p><h3 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;">More possibiities?</h3><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px"><li style="box-sizing:border-box;margin-left:0px">For more strict check, we can change the signature to enum of error-code, so we will be able to enforce people to use it.</li></ul><h3 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;line-height:1.25;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;">Challenges</h3><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px"><li style="box-sizing:border-box;margin-left:0px">Need contributions from almost every component owners to help make this change.</li><li style="box-sizing:border-box;margin-top:0.25em;margin-left:0px">Merging this would make most of the patches in queue as &#39;Merge Conflict&#39; state.</li><li style="box-sizing:border-box;margin-top:0.25em;margin-left:0px">The changes to enum can&#39;t be done as multiple patches as the smoke and regressions will fail in compilation itself without all the required changes, so it will be one BIG change (at least 5000 lines diff). Need a quicker action with reviews.</li><li style="box-sizing:border-box;margin-top:0.25em;margin-left:0px">Again, because it has be ONE patch, co-ordination in any current gluster branches (even experimental) would be hard, so we need to work with a developers personal branch, and then do git rebase -i (and squash).</li></ul><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px">Calls for a half-day hackathon for all the maintainers/peers and other contributors!</p><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;;font-size:14px">Feedbacks welcome!</p><div>----------------</div><div><br></div><div><br></div><div>If the main logic, and changes to `compat-errno.{c.h}` are fine, I would like to hear about possibilities of a hackathon for getting the code-base walk through for changing errno to error code (and also possible new addition to error codes if it makes sense).</div><div><br></div><div>Regards,</div><div>Amar</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Amar Tumballi (amarts)<br></div></div></div></div></div>
</div>