<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 08/14/2013 01:37 PM, Anand Avati
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAFboF2xuuYXCxbeD76ty3fvRO7Z71DsoD0Rht-yfdYaZbT0YyQ@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <br>
          <div class="gmail_quote">On Wed, Aug 14, 2013 at 12:25 AM,
            Deepak C Shetty <span dir="ltr">&lt;<a
                moz-do-not-send="true"
                href="mailto:deepakcs@linux.vnet.ibm.com"
                target="_blank">deepakcs@linux.vnet.ibm.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 bgcolor="#FFFFFF" text="#000000">
                <div>
                  <div class="h5">
                    <div>On 07/29/2013 12:18 AM, Anand Avati wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr"><br>
                        <div class="gmail_extra"><br>
                          <br>
                          <div class="gmail_quote">On Sun, Jul 28, 2013
                            at 11:18 AM, Vijay Bellur <span dir="ltr">&lt;<a
                                moz-do-not-send="true"
                                href="mailto:vbellur@redhat.com"
                                target="_blank">vbellur@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>
                              There was a recent thread on fedora-devel
                              about bloated glusterfs dependency for
                              qemu:<br>
                              <br>
                              <a moz-do-not-send="true"
href="https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html"
                                target="_blank">https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html</a><br>
                              <br>
                              As of today, we have the following
                              packages and respective primary
                              constituents:<br>
                              <br>
                              &nbsp;1. glusterfs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - contains
                              all the common xlators, libglusterfs,
                              glusterfsd binary &amp; glusterfs symlink
                              to glusterfsd.<br>
                              &nbsp;2. glusterfs-rdma &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- rdma
                              shared library<br>
                              &nbsp;3. glusterfs-geo-replication - geo-rep
                              related objects<br>
                              &nbsp;4. glusterfs-fuse &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- fuse
                              xlator<br>
                              &nbsp;5. glusterfs-server &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- server
                              side xlators, config files<br>
                              &nbsp;6. glusterfs-api &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - libgfapi
                              shared library<br>
                              &nbsp;7. glusterfs-resource-agents - OCF
                              resource agents<br>
                              &nbsp;8. glusterfs-devel &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - Header
                              files for libglusterfs<br>
                              &nbsp;9. glusterfs-api-devel &nbsp; &nbsp; &nbsp; - Header
                              files for gfapi<br>
                              <br>
                              As far as qemu is concerned, qemu depends
                              on glusterfs-api which in turn is
                              dependent on glusterfs. Much of the
                              apparent bloat is coming from glusterfs
                              package and one proposal for reducing the
                              dependency footprint of consumers of
                              libgfapi could be the following:<br>
                              <br>
                              a) Move glusterfsd and glusterfs symlink
                              from 'glusterfs' to 'glusterfs-server'<br>
                              b) Package glusterfsd binary and glusterfs
                              symlink in 'glusterfs-fuse'<br>
                            </blockquote>
                            <div><br>
                            </div>
                            <div><br>
                            </div>
                            <div>Does that mean glusterfsd is in
                              glusterfs-server or glusterfs-fuse? It is
                              probably sufficient to leave
                              glusterfs-fuse just have fuse.so and <a
                                moz-do-not-send="true"
                                href="http://mount.glusterfs.in"
                                target="_blank">mount.glusterfs.in</a></div>
                            <div><br>
                            </div>
                            <div>Another model can be:</div>
                            <div><br>
                            </div>
                            <div>0. glusterfs-libs.rpm - libglusterfs.so
                              libgfrpc.so libgfxdr.so</div>
                            <div>1. glusterfs (depends on
                              glusterfs-libs) - glusterfsd binary,
                              glusterfs symlink, all common xlators</div>
                            <div>2. glusterfs-rdma (depends on
                              glusterfs) - rdma shared library</div>
                            <div>3. glusterfs-geo-replication (depends
                              on glusterfs) - geo-rep related objects</div>
                            <div>4. glusterfs-fuse (depends on
                              glusterfs) - fuse xlator, mount.glusterfs</div>
                            <div>5. glusterfs-server (depends on
                              glusterfs) - server side xlators, config
                              files</div>
                            <div>6. glusterfs-api (depends on
                              glusterfs-libs) - libgfapi.so and api.so</div>
                            <div>7. glusterfs-resource-agents (depends
                              on glusterfs)</div>
                            <div>8. glusterfs-devel (depends on
                              glusterfs-libs) - header files for
                              libglusterfs</div>
                            <div>9. glusterfs-api-devel (depends on
                              glusterfs-api) - header files for gfapi</div>
                            <div><br>
                            </div>
                            <div>This way qemu will only pick up
                              libgfapi.so libglusterfs.so libgfrpc.so
                              and libgfxdr.so (the bare minimum to "just
                              execute") for the binary to load at run
                              time. Those who want to store vm images
                              natively on gluster must also do a 'yum
                              install glusterfs' to make gfapi 'useful'.
                              This way Fedora qemu users who do not plan
                              to use gluster will not get any of the
                              xlator cruft.</div>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                    <br>
                  </div>
                </div>
                Looks like even after the re-packaging.. the original
                problem is still there !<br>
                Post re-strucuring ( i am on F19 with updates-testing
                repo enabled) <br>
                <br>
                gluserfs-api has dep on -libs and glusterfs<br>
                So when User install glusterfs-api, it pulls in -libs
                and glusterfs<br>
                <br>
                This is correct, since w/o glusterfs rpm we won't have a
                working qemu gluster backend.</div>
            </blockquote>
            <div><br>
            </div>
            <div>Actually this *wasnt* what we discussed. glusterfs-api
              was supposed to depend on glusterfs-libs *ONLY*. This is
              because it has a linking (hard) relationship with
              glusterfs-libs, and glusterfs.rpm is only a run-time
              dependency - everything here is dlopen()ed.<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <blockquote
cite="mid:CAFboF2xuuYXCxbeD76ty3fvRO7Z71DsoD0Rht-yfdYaZbT0YyQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>&nbsp;</div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> Just allowing qemu
                to execute by way of installing-libs and -api only won't
                help, since once qemu executes and someone tries qemu w/
                gluster backend.. things will fail unless User has
                installed glusterfs rpm (which has all the client
                xlators)<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>I think this was exactly what we concluded. That a user
              would need to install glusterfs rpm if they wanted to
              store VM images on gluster (independent of the fact that
              qemu was linked with glusterfs-api). Do you see a problem
              with this?</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Putting a User's hat.. i think its a problem.<br>
    IIUC What you are saying is that User must be aware that he/she
    needs to install glusterfs in order to use qemu gluster backend.
    User may argue.. why didn't you install glusterfs as part of qemu
    yum install itself ?<br>
    <br>
    Expecting user (who may or may not be glsuter/virt. aware) to
    install addnl rpm to use qemu gluster might not work always.<br>
    <br>
    Who will inform user to install glusterfs when things fail at
    runtime ?<br>
    <br>
    I am thinking if we can ever resolve this issue at all ?<br>
    I re-ignited this thread, just to let everyone know that original
    problem isn't resolved yet!<br>
    <br>
    thanx,<br>
    deepak<br>
    <br>
    (re-sending this as before i mistakenly replied to avati only)<br>
    <br>
    <blockquote
cite="mid:CAFboF2xuuYXCxbeD76ty3fvRO7Z71DsoD0Rht-yfdYaZbT0YyQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>Avati</div>
            <div>&nbsp;</div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> So today ...<br>
                yum install glusterfs-api brings in glusterfs-libs and
                glusterfs<br>
                which sounds correct to get a working system with qemu
                gluster backend.<br>
                <br>
                Later...<br>
                yum remove glusterfs <br>
                removes glusterfs-api which has a reverse dep on qemu,
                hence libvirt hence the entire virt stack goes down<br>
                <br>
                which was the original problem reported in the fedora
                devel list @<br>
                <a moz-do-not-send="true"
href="https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html"
                  target="_blank">https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html</a><br>
                <br>
                and that unfortunately is still there, even after -libs
                was created as a separate rpm as part of this effort!<br>
                <br>
                thanx,<br>
                deepak<br>
                <br>
              </div>
              <br>
              _______________________________________________<br>
              Gluster-devel mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:Gluster-devel@nongnu.org">Gluster-devel@nongnu.org</a><br>
              <a moz-do-not-send="true"
                href="https://lists.nongnu.org/mailman/listinfo/gluster-devel"
                target="_blank">https://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>