<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/cli/src, branch heal-info</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>cli - group files to set volume options supports comments</title>
<updated>2019-08-25T05:18:33+00:00</updated>
<author>
<name>Barak Sason</name>
<email>bsasonro@redhat.com</email>
</author>
<published>2019-08-20T12:37:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=30e83561b8dcced2593deb904688177fcd4ff0e0'/>
<id>30e83561b8dcced2593deb904688177fcd4ff0e0</id>
<content type='text'>
Modified parsing of group files in such a way that line that starts with
"#" would be treated as comments

Fixes: bz#1423442

Change-Id: Id85ceb49f8f9c920d4ea551f60bd28767279d4be
Signed-off-by: Barak Sason &lt;bsasonro@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Modified parsing of group files in such a way that line that starts with
"#" would be treated as comments

Fixes: bz#1423442

Change-Id: Id85ceb49f8f9c920d4ea551f60bd28767279d4be
Signed-off-by: Barak Sason &lt;bsasonro@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "glusterd: (storhaug) remove ganesha (843e1b0)"</title>
<updated>2019-08-24T02:08:57+00:00</updated>
<author>
<name>Jiffin Tony Thottan</name>
<email>jthottan@redhat.com</email>
</author>
<published>2017-10-16T08:54:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=673f2f90f35e5ea381bd22a43403278f89c957a5'/>
<id>673f2f90f35e5ea381bd22a43403278f89c957a5</id>
<content type='text'>
please note as an additional change, macro GLUSTERD_GET_SNAP_DIR
moved from glusterd-store.c to glusterd-snapshot-utils.h

Change-Id: I811efefc148453fe32e4f0d322e80455447cec71
updates: #663
Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
please note as an additional change, macro GLUSTERD_GET_SNAP_DIR
moved from glusterd-store.c to glusterd-snapshot-utils.h

Change-Id: I811efefc148453fe32e4f0d322e80455447cec71
updates: #663
Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: remove dependency of rpc</title>
<updated>2019-08-16T05:37:03+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2019-06-28T17:21:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=29cfe643cbcf7826375a3d52ff1865706a35bc38'/>
<id>29cfe643cbcf7826375a3d52ff1865706a35bc38</id>
<content type='text'>
Goal: 'libglusterfs' files shouldn't have any dependency outside of
      the tree, specially the header files, shouldn't have '#include'
      from outside the tree.

Fixes:
* Had to introduce libglusterd so, methods and structures required
  for only mgmt/glusterd, and cli/ are separated from 'libglusterfs/'
* Remove rpc/xdr/gen from build, which was used mainly so
  dependency for libglusterfs could be properly satisfied.
* Move rpcsvc_auth_data to client_t.h, so all dependencies could
  be handled.

Updates: bz#1636297
Change-Id: I0e80243a5a3f4615e6fac6e1b947ad08a9363fce
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Goal: 'libglusterfs' files shouldn't have any dependency outside of
      the tree, specially the header files, shouldn't have '#include'
      from outside the tree.

Fixes:
* Had to introduce libglusterd so, methods and structures required
  for only mgmt/glusterd, and cli/ are separated from 'libglusterfs/'
* Remove rpc/xdr/gen from build, which was used mainly so
  dependency for libglusterfs could be properly satisfied.
* Move rpcsvc_auth_data to client_t.h, so all dependencies could
  be handled.

Updates: bz#1636297
Change-Id: I0e80243a5a3f4615e6fac6e1b947ad08a9363fce
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Multiple files: get trivial stuff done before lock</title>
<updated>2019-08-01T04:12:07+00:00</updated>
<author>
<name>Yaniv Kaul</name>
<email>ykaul@redhat.com</email>
</author>
<published>2019-06-07T22:22:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=d68e426263708334945dff69b88218ed71a48033'/>
<id>d68e426263708334945dff69b88218ed71a48033</id>
<content type='text'>
Initialize a dictionary for example seems to be prefectly fine to be done
before taking a lock.

Change-Id: Ib29516c4efa8f0e2b526d512beab488fcd16d2e7
updates: bz#1193929
Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initialize a dictionary for example seems to be prefectly fine to be done
before taking a lock.

Change-Id: Ib29516c4efa8f0e2b526d512beab488fcd16d2e7
updates: bz#1193929
Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>event: rename event_XXX with gf_ prefixed</title>
<updated>2019-07-29T04:43:56+00:00</updated>
<author>
<name>Xiubo Li</name>
<email>xiubli@redhat.com</email>
</author>
<published>2019-07-26T04:34:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=799edc73c3d4f694c365c6a7c27c9ab8eed5f260'/>
<id>799edc73c3d4f694c365c6a7c27c9ab8eed5f260</id>
<content type='text'>
I hit one crash issue when using the libgfapi.

In the libgfapi it will call glfs_poller() --&gt; event_dispatch()
in file api/src/glfs.c:721, and the event_dispatch() is defined
by libgluster locally, the problem is the name of event_dispatch()
is the extremly the same with the one from libevent package form
the OS.

For example, if a executable program Foo, which will also use and
link the libevent and the libgfapi at the same time, I can hit the
crash, like:

kernel: glfs_glfspoll[68486]: segfault at 1c0 ip 00007fef006fd2b8 sp
00007feeeaffce30 error 4 in libevent-2.0.so.5.1.9[7fef006ed000+46000]

The link for Foo is:
lib_foo_LADD = -levent $(GFAPI_LIBS)
It will crash.

This is because the glfs_poller() is calling the event_dispatch() from
the libevent, not the libglsuter.

The gfapi link info :
GFAPI_LIBS = -lacl -lgfapi -lglusterfs -lgfrpc -lgfxdr -luuid

If I link Foo like:
lib_foo_LADD = $(GFAPI_LIBS) -levent
It will works well without any problem.

And if Foo call one private lib, such as handler_glfs.so, and the
handler_glfs.so will link the GFAPI_LIBS directly, while the Foo won't
and it will dlopen(handler_glfs.so), then the crash will be hit everytime.

The link info will be:
foo_LADD = -levent
libhandler_glfs_LIBADD = $(GFAPI_LIBS)

I can avoid the crash temporarily by linking the GFAPI_LIBS in Foo too like:
foo_LADD = $(GFAPI_LIBS) -levent
libhandler_glfs_LIBADD = $(GFAPI_LIBS)

But this is ugly since the Foo won't use any APIs from the GFAPI_LIBS.

And in some cases when the --as-needed link option is added(on many dists
it is added as default), then the crash is back again, the above workaround
won't work.

Fixes: #699

Change-Id: I38f0200b941bd1cff4bf3066fca2fc1f9a5263aa
Signed-off-by: Xiubo Li &lt;xiubli@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I hit one crash issue when using the libgfapi.

In the libgfapi it will call glfs_poller() --&gt; event_dispatch()
in file api/src/glfs.c:721, and the event_dispatch() is defined
by libgluster locally, the problem is the name of event_dispatch()
is the extremly the same with the one from libevent package form
the OS.

For example, if a executable program Foo, which will also use and
link the libevent and the libgfapi at the same time, I can hit the
crash, like:

kernel: glfs_glfspoll[68486]: segfault at 1c0 ip 00007fef006fd2b8 sp
00007feeeaffce30 error 4 in libevent-2.0.so.5.1.9[7fef006ed000+46000]

The link for Foo is:
lib_foo_LADD = -levent $(GFAPI_LIBS)
It will crash.

This is because the glfs_poller() is calling the event_dispatch() from
the libevent, not the libglsuter.

The gfapi link info :
GFAPI_LIBS = -lacl -lgfapi -lglusterfs -lgfrpc -lgfxdr -luuid

If I link Foo like:
lib_foo_LADD = $(GFAPI_LIBS) -levent
It will works well without any problem.

And if Foo call one private lib, such as handler_glfs.so, and the
handler_glfs.so will link the GFAPI_LIBS directly, while the Foo won't
and it will dlopen(handler_glfs.so), then the crash will be hit everytime.

The link info will be:
foo_LADD = -levent
libhandler_glfs_LIBADD = $(GFAPI_LIBS)

I can avoid the crash temporarily by linking the GFAPI_LIBS in Foo too like:
foo_LADD = $(GFAPI_LIBS) -levent
libhandler_glfs_LIBADD = $(GFAPI_LIBS)

But this is ugly since the Foo won't use any APIs from the GFAPI_LIBS.

And in some cases when the --as-needed link option is added(on many dists
it is added as default), then the crash is back again, the above workaround
won't work.

Fixes: #699

Change-Id: I38f0200b941bd1cff4bf3066fca2fc1f9a5263aa
Signed-off-by: Xiubo Li &lt;xiubli@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: defer create_frame() (and dict creation) to later stages.</title>
<updated>2019-07-16T13:34:56+00:00</updated>
<author>
<name>Yaniv Kaul</name>
<email>ykaul@redhat.com</email>
</author>
<published>2019-06-05T17:16:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=7162c8ad9d404773656b4eb02c8fc17f067e7699'/>
<id>7162c8ad9d404773656b4eb02c8fc17f067e7699</id>
<content type='text'>
Where possible, defer create_frame() - whenever possible, after
command line verification, for example.

Change-Id: Id6606e90e7ea6190f30b225c4733b229c519bb2f
updates: bz#1193929
Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Where possible, defer create_frame() - whenever possible, after
command line verification, for example.

Change-Id: Id6606e90e7ea6190f30b225c4733b229c519bb2f
updates: bz#1193929
Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: Remove Wformat-truncation compiler warning</title>
<updated>2019-07-02T07:29:32+00:00</updated>
<author>
<name>Sheetal Pamecha</name>
<email>spamecha@redhat.com</email>
</author>
<published>2019-07-01T15:18:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=080827829eabd3cbed1a7feaa37de091834fcbb1'/>
<id>080827829eabd3cbed1a7feaa37de091834fcbb1</id>
<content type='text'>
This warning is issued due to unhandled output truncation.
As in the code, truncation is expected, we can remove this
warning by placing a check on the return value of the function
and handling it.
In this way, the warning will not be issued.

Change-Id: I1820b58fe9a7601961c20944b259df322db35057
updates: bz#1193929
Signed-off-by: Sheetal Pamecha &lt;spamecha@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This warning is issued due to unhandled output truncation.
As in the code, truncation is expected, we can remove this
warning by placing a check on the return value of the function
and handling it.
In this way, the warning will not be issued.

Change-Id: I1820b58fe9a7601961c20944b259df322db35057
updates: bz#1193929
Signed-off-by: Sheetal Pamecha &lt;spamecha@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Removing one top command from gluster v help</title>
<updated>2019-07-01T14:33:06+00:00</updated>
<author>
<name>kshithijiyer</name>
<email>kshithij.ki@gmail.com</email>
</author>
<published>2019-06-28T10:02:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c72b3f13452fcd9289230516f67d7c07951a8d5c'/>
<id>c72b3f13452fcd9289230516f67d7c07951a8d5c</id>
<content type='text'>
The current help show 2 different top commands
intead of one single top command which can be
easily observed when "# gluster v help" command
is issued. Removing one "volume top &lt;VOLNAME&gt;"
and clubbing into them into a single command.

Current help:
volume top &lt;VOLNAME&gt; {open|read|write|opendir|readdir|clear}
[nfs|brick &lt;brick&gt;] [list-cnt &lt;value&gt;] |
volume top &lt;VOLNAME&gt; {read-perf|write-perf}
[bs &lt;size&gt; count &lt;count&gt;] [brick &lt;brick&gt;]
[list-cnt &lt;value&gt;] - volume top operations

Expected help:
volume top &lt;VOLNAME&gt; {open|read|write|opendir|readdir|clear}
[nfs|brick &lt;brick&gt;] [list-cnt &lt;value&gt;] | {read-perf|write-perf}
[bs &lt;size&gt; count &lt;count&gt;] [brick &lt;brick&gt;] [list-cnt &lt;value&gt;]
- volume top operations

fixes: bz#1725034

Change-Id: Ifbc4c95f2558286e27dfc5e9667046b80eb1715d
Signed-off-by: kshithijiyer &lt;kshithij.ki@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current help show 2 different top commands
intead of one single top command which can be
easily observed when "# gluster v help" command
is issued. Removing one "volume top &lt;VOLNAME&gt;"
and clubbing into them into a single command.

Current help:
volume top &lt;VOLNAME&gt; {open|read|write|opendir|readdir|clear}
[nfs|brick &lt;brick&gt;] [list-cnt &lt;value&gt;] |
volume top &lt;VOLNAME&gt; {read-perf|write-perf}
[bs &lt;size&gt; count &lt;count&gt;] [brick &lt;brick&gt;]
[list-cnt &lt;value&gt;] - volume top operations

Expected help:
volume top &lt;VOLNAME&gt; {open|read|write|opendir|readdir|clear}
[nfs|brick &lt;brick&gt;] [list-cnt &lt;value&gt;] | {read-perf|write-perf}
[bs &lt;size&gt; count &lt;count&gt;] [brick &lt;brick&gt;] [list-cnt &lt;value&gt;]
- volume top operations

fixes: bz#1725034

Change-Id: Ifbc4c95f2558286e27dfc5e9667046b80eb1715d
Signed-off-by: kshithijiyer &lt;kshithij.ki@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd/thin-arbiter: Thin-arbiter integration with GD1</title>
<updated>2019-06-28T17:30:53+00:00</updated>
<author>
<name>Vishal Pandey</name>
<email>vpandey@redhat.com</email>
</author>
<published>2019-04-24T08:07:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=9b223b15ab69fce4076de036ee162f36a058bcd2'/>
<id>9b223b15ab69fce4076de036ee162f36a058bcd2</id>
<content type='text'>
gluster volume create &lt;VOLNAME&gt; replica 2 thin-arbiter 1 &lt;host1&gt;:&lt;brick1&gt; &lt;host2&gt;:&lt;brick2&gt;
&lt;thin-arbiter-host&gt;:&lt;path-to-store-replica-id-file&gt; [force]

The changes have been made in a way that the last brick in the bricks list
will be treated as the thin-arbiter.
GD1 will be manipulated to consider replica count to be as 2 and continue creating the
volume like any other replica 2 volume but since thin-arbiter volumes need ta-brick
client xlator entries for each subvolume in fuse volfile, volfile generation is
modified in a way to inject these entries seperately in the volfile for every subvolume.

Few more additions -
1- Save the volinfo with new fields ta_bricks list and thin_arbiter_count.
2- Introduce a new option client.ta-brick-port to add remote-port to ta-brick xlator entry
   in fuse volfiles. The option can be set using the following CLI syntax -
   gluster volume set &lt;VOLNAME&gt; client.ta-brick-port &lt;PORTNO.&gt;
3- Volume Info will contain a Thin-Arbiter-path entry to distinguish
   from other replicate volumes.

Change-Id: Ib434e2313b29716f32476c6c211d282c4ef39406
Updates #687
Signed-off-by: Vishal Pandey &lt;vpandey@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
gluster volume create &lt;VOLNAME&gt; replica 2 thin-arbiter 1 &lt;host1&gt;:&lt;brick1&gt; &lt;host2&gt;:&lt;brick2&gt;
&lt;thin-arbiter-host&gt;:&lt;path-to-store-replica-id-file&gt; [force]

The changes have been made in a way that the last brick in the bricks list
will be treated as the thin-arbiter.
GD1 will be manipulated to consider replica count to be as 2 and continue creating the
volume like any other replica 2 volume but since thin-arbiter volumes need ta-brick
client xlator entries for each subvolume in fuse volfile, volfile generation is
modified in a way to inject these entries seperately in the volfile for every subvolume.

Few more additions -
1- Save the volinfo with new fields ta_bricks list and thin_arbiter_count.
2- Introduce a new option client.ta-brick-port to add remote-port to ta-brick xlator entry
   in fuse volfiles. The option can be set using the following CLI syntax -
   gluster volume set &lt;VOLNAME&gt; client.ta-brick-port &lt;PORTNO.&gt;
3- Volume Info will contain a Thin-Arbiter-path entry to distinguish
   from other replicate volumes.

Change-Id: Ib434e2313b29716f32476c6c211d282c4ef39406
Updates #687
Signed-off-by: Vishal Pandey &lt;vpandey@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Adding white spaces to description of set group.</title>
<updated>2019-06-25T15:23:07+00:00</updated>
<author>
<name>kshithijiyer</name>
<email>kshithij.ki@gmail.com</email>
</author>
<published>2019-06-24T14:38:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=bee5d7bd8a602184c94c12115c7e30572eb7588c'/>
<id>bee5d7bd8a602184c94c12115c7e30572eb7588c</id>
<content type='text'>
The description of set group is missing spaces which
leads to the description look like:
volume set &lt;VOLNAME&gt; group  &lt;GROUP&gt; - This option can be used for
setting multiple pre-defined volume optionswhere group_name is a
file under /var/lib/glusterd/groups containing onekey, value pair
per line

Instead of:
volume set &lt;VOLNAME&gt; group &lt;GROUP&gt; - This option can be used for
setting multiple pre-defined volume options where group_name is a
file under /var/lib/glusterd/groups containing one key value
pair per line

Fixes: bz#1723455

Change-Id: I4957988c0c1f35f043db3f64089c049193e60e8f
Signed-off-by: kshithijiyer &lt;kshithij.ki@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The description of set group is missing spaces which
leads to the description look like:
volume set &lt;VOLNAME&gt; group  &lt;GROUP&gt; - This option can be used for
setting multiple pre-defined volume optionswhere group_name is a
file under /var/lib/glusterd/groups containing onekey, value pair
per line

Instead of:
volume set &lt;VOLNAME&gt; group &lt;GROUP&gt; - This option can be used for
setting multiple pre-defined volume options where group_name is a
file under /var/lib/glusterd/groups containing one key value
pair per line

Fixes: bz#1723455

Change-Id: I4957988c0c1f35f043db3f64089c049193e60e8f
Signed-off-by: kshithijiyer &lt;kshithij.ki@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
