<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 25, 2014 at 3:28 PM, Harshavardhana <span dir="ltr">&lt;<a href="mailto:harsha@harshavardhana.net" target="_blank">harsha@harshavardhana.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">&gt; QEMU uses pkg-config to get the version of libgfapi and accordingly enable<br>
&gt; features. Currently, it checks for version 3 for base libgfapi support,<br>
&gt; version 5 for discard API support and version 6 for zerofill API support.<br>
&gt;<br>
&gt; However with recent commit c2b09dc87, libgfapi version changed from 6 to<br>
&gt; 0.0.6. So the question now is:<br>
&gt;<br>
&gt; Will there be any major/minor release of GlusterFS that will go out with<br>
&gt; libgfapi version as 6 which QEMU should support or should QEMU just switch<br>
&gt; over to using 0.0.6 ?<br>
<br>
</div>0.0.6 version from &#39;6&#39; - change was to address linking concerns and<br>
provide versioning<br>
support to not break linking objects in future while there are<br>
internal API changes.<br>
<br>
Sorry for the trouble it was an overlook on our part.<br>
<br>
Ideally it would have been great to check for GLFS_API_VERSION in &#39;glfs.h&#39;  than<br>
 `pkg-config` so that all other third party linking objects could just<br>
probe this in their<br>
build rather than relying on `pkg-config` to make it more portable.<br></blockquote><div><br></div><div>Initial versions of QEMU with GlusterFS support wasn&#39;t using pkg-config, I switched over to pkg-config way subsequently based on the suggestions from GlusterFS.<br>
 <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
AFAICS the patch only exists in &#39;master&#39; branch its not present on<br>
release-3.5 or 3.4<br>
might not cause any trouble for QEMU in near future? or do you wish to have both<br>
version styles to make it backward compatible even on &#39;master&#39; branch?<br></blockquote><div><br></div><div>I am beginning to think that there are more issues with this change.<br><br></div><div>QEMU uses &quot;pkg-config --atleast-version=3 glusterfs-api&quot; to check the minimum version of libgfapi that QEMU needs. Now from pkg-config --atleast-version point of view, 3 is same as 3.x which is same as 3.x.x.<br>
<br>Now from 6 you went to 0.0.6, which will eventually reach 3.x.x at which time the above mentioned pkg-config check starts becoming true which isn&#39;t desirable. For QEMU this will look like a backward movement.<br><br>
</div><div>Also your commit message description says:<br><br>&quot;In essence, every time you make a change to the library and<br>    release it, the C:R:A should change. A new library should start<br>    with 0:0:0. Each time you change the public interface<br>
    (i.e., your installed header files), you should increment the<br>    CURRENT number.&quot;<br><br></div><div>So the version which was 3 became 5 when discard API was added and became 6 when zerofill was added. As per the above description, API addition will result in a change to the installed header(glfs.h) and hence warrants a change in CURRENT number ? Should you have changed the version to 6.0.0 instead of 0.0.6 ?<br>
<br></div><div>Regards,<br>Bharata.<br></div></div></div></div>