<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 12:55 PM, Deepak C Shetty
      wrote:<br>
    </div>
    <blockquote cite="mid:520B30FC.30205@linux.vnet.ibm.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">On 07/29/2013 12:18 AM, Anand Avati
        wrote:<br>
      </div>
      <blockquote
cite="mid:CAFboF2x3NoKeS5xizg3vMioOMBRyOq7c1G5s__T7JEE6eGuTUA@mail.gmail.com"
        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">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>
      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. 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>
      <br>
      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>
    </blockquote>
    <br>
    See <a class="moz-txt-link-freetext" href="http://paste.fedoraproject.org/31972/64604451/">http://paste.fedoraproject.org/31972/64604451/</a> <br>
    which was recorded on a F19 system<br>
    <br>
    <blockquote cite="mid:520B30FC.30205@linux.vnet.ibm.com" type="cite">
      <br>
      which was the original problem reported in the fedora devel list @<br>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html">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>
    </blockquote>
    <br>
  </body>
</html>