<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 25, 2014 at 3:28 PM, Harshavardhana <span dir="ltr"><<a href="mailto:harsha@harshavardhana.net" target="_blank">harsha@harshavardhana.net</a>></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">> QEMU uses pkg-config to get the version of libgfapi and accordingly enable<br>
> features. Currently, it checks for version 3 for base libgfapi support,<br>
> version 5 for discard API support and version 6 for zerofill API support.<br>
><br>
> However with recent commit c2b09dc87, libgfapi version changed from 6 to<br>
> 0.0.6. So the question now is:<br>
><br>
> Will there be any major/minor release of GlusterFS that will go out with<br>
> libgfapi version as 6 which QEMU should support or should QEMU just switch<br>
> over to using 0.0.6 ?<br>
<br>
</div>0.0.6 version from '6' - 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 'glfs.h' 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'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 'master' 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 'master' 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 "pkg-config --atleast-version=3 glusterfs-api" 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't desirable. For QEMU this will look like a backward movement.<br><br>
</div><div>Also your commit message description says:<br><br>"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."<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>