<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/tools, branch v6.10</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>tools/glusterfind: Remove an extra argument</title>
<updated>2020-02-26T11:10:48+00:00</updated>
<author>
<name>Shwetha K Acharya</name>
<email>sacharya@redhat.com</email>
</author>
<published>2020-01-14T05:21:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=dc810f3acbb268b6f5478ed9df6c7a69a6569567'/>
<id>dc810f3acbb268b6f5478ed9df6c7a69a6569567</id>
<content type='text'>
Backport of:
   &gt; Upstream Patch: https://review.gluster.org/#/c/glusterfs/+/24011/
   &gt;fixes: bz#1790748
   &gt;Change-Id: I1cb12c975142794139456d0f8e99fbdbb03c53a1
   &gt;Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
   &gt;(cherry picked from commit d73872e764214f8071c8915536a75bdac1e5e685)

fixes: bz#1790850
Change-Id: I1cb12c975142794139456d0f8e99fbdbb03c53a1
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of:
   &gt; Upstream Patch: https://review.gluster.org/#/c/glusterfs/+/24011/
   &gt;fixes: bz#1790748
   &gt;Change-Id: I1cb12c975142794139456d0f8e99fbdbb03c53a1
   &gt;Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
   &gt;(cherry picked from commit d73872e764214f8071c8915536a75bdac1e5e685)

fixes: bz#1790850
Change-Id: I1cb12c975142794139456d0f8e99fbdbb03c53a1
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfind: python3 compatibility</title>
<updated>2020-02-11T08:26:33+00:00</updated>
<author>
<name>Sunny Kumar</name>
<email>sunkumar@redhat.com</email>
</author>
<published>2020-01-10T14:28:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=b41f24c341cd508e5137618ffbba6a600c497f38'/>
<id>b41f24c341cd508e5137618ffbba6a600c497f38</id>
<content type='text'>
Problem:
While we delete gluster volume the hook script 'S57glusterfind-delete-post.py'
is failed to execute and error message can be observed in glusterd log.

Traceback:
  File "/var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post", line 69, in &lt;module&gt;
    main()
  File "/var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post", line 39, in main
    glusterfind_dir = os.path.join(get_glusterd_workdir(), "glusterfind")
  File "/usr/lib64/python3.7/posixpath.py", line 94, in join
    genericpath._check_arg_types('join', a, *p)
  File "/usr/lib64/python3.7/genericpath.py", line 155, in _check_arg_types
    raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components

Solution:

Added the 'universal_newlines' flag to Popen to support backward compatibility.

Backport of:

&gt;   Change-Id: Ie5655b11b55535c5ad2338108d0448e6fdaacf4f
&gt;   Fixes: bz#1789478
&gt;   Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
&gt;   (cherry picked from commit 33c3cbe71b67f523538b04334f1ef962953281ed)

Change-Id: Ie5655b11b55535c5ad2338108d0448e6fdaacf4f
Fixes: bz#1790449
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
While we delete gluster volume the hook script 'S57glusterfind-delete-post.py'
is failed to execute and error message can be observed in glusterd log.

Traceback:
  File "/var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post", line 69, in &lt;module&gt;
    main()
  File "/var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post", line 39, in main
    glusterfind_dir = os.path.join(get_glusterd_workdir(), "glusterfind")
  File "/usr/lib64/python3.7/posixpath.py", line 94, in join
    genericpath._check_arg_types('join', a, *p)
  File "/usr/lib64/python3.7/genericpath.py", line 155, in _check_arg_types
    raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components

Solution:

Added the 'universal_newlines' flag to Popen to support backward compatibility.

Backport of:

&gt;   Change-Id: Ie5655b11b55535c5ad2338108d0448e6fdaacf4f
&gt;   Fixes: bz#1789478
&gt;   Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
&gt;   (cherry picked from commit 33c3cbe71b67f523538b04334f1ef962953281ed)

Change-Id: Ie5655b11b55535c5ad2338108d0448e6fdaacf4f
Fixes: bz#1790449
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tools/glusterfind: handle offline bricks</title>
<updated>2020-02-11T08:24:23+00:00</updated>
<author>
<name>Milind Changire</name>
<email>mchangir@redhat.com</email>
</author>
<published>2017-01-05T14:23:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=912b92d3b7c6695e0e1a053bb56b9013aac06b81'/>
<id>912b92d3b7c6695e0e1a053bb56b9013aac06b81</id>
<content type='text'>
Problem:
glusterfind is unable to copy remote output file to local node when a
remove-brick is in progress on the remote node. After copying remote
files, in the --full output listing path, a "sort -u" command is run on
the collected files. However, "sort" exits with an error code if it
finds any file missing.

Solution:
Maintain a map of (pid, output file) when the node commands are started
and remove the mapping for the pid for which the command returns an
error. Use the list of files present in the map for the "sort" command.

Backport of:
&gt;    Change-Id: Ie6e019037379f4cb163f24b1c65eb382efc2fb3b
&gt;    fixes: bz#1410439
&gt;    Signed-off-by: Milind Changire &lt;mchangir@redhat.com&gt;
&gt;    Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
&gt;    (cherry picked from commit 42c1605f42b89520d4d05806d7074e9e93b63640)

Change-Id: Ie6e019037379f4cb163f24b1c65eb382efc2fb3b
Fixes: bz#1790445
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
glusterfind is unable to copy remote output file to local node when a
remove-brick is in progress on the remote node. After copying remote
files, in the --full output listing path, a "sort -u" command is run on
the collected files. However, "sort" exits with an error code if it
finds any file missing.

Solution:
Maintain a map of (pid, output file) when the node commands are started
and remove the mapping for the pid for which the command returns an
error. Use the list of files present in the map for the "sort" command.

Backport of:
&gt;    Change-Id: Ie6e019037379f4cb163f24b1c65eb382efc2fb3b
&gt;    fixes: bz#1410439
&gt;    Signed-off-by: Milind Changire &lt;mchangir@redhat.com&gt;
&gt;    Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
&gt;    (cherry picked from commit 42c1605f42b89520d4d05806d7074e9e93b63640)

Change-Id: Ie6e019037379f4cb163f24b1c65eb382efc2fb3b
Fixes: bz#1790445
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libgfchangelog : use find_library to locate shared library</title>
<updated>2019-11-08T06:30:36+00:00</updated>
<author>
<name>Sunny Kumar</name>
<email>sunkumar@redhat.com</email>
</author>
<published>2019-04-12T14:25:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f28277fea8d5fa02b166d3e6e3856de033115704'/>
<id>f28277fea8d5fa02b166d3e6e3856de033115704</id>
<content type='text'>
Issue:

libgfchangelog.so: cannot open shared object file

Due to hardcoded shared library name runtime loader looks for particular version of
a shared library.

Solution:

Using find_library to locate shared library at runtime solves this issue.

Traceback (most recent call last):
  File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py", line 323, in main
    func(args)
  File "/usr/libexec/glusterfs/python/syncdaemon/subcmds.py", line 82, in subcmd_worker
    local.service_loop(remote)
  File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 1261, in service_loop
    changelog_agent.init()
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 233, in __call__
    return self.ins(self.meth, *a)
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 215, in __call__
    raise res
OSError: libgfchangelog.so: cannot open shared object file: No such file or directory

Backport of:
 &gt; Patch: https://review.gluster.org/22557
 &gt; Change-Id: I3dd013d701ed1cd99ba7ef20d1898f343e1db8f5
 &gt; BUG: 1699394
 &gt; Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
(cherry picked from commit f316c8b797283818bd800569771870a4b9bf1310)

Change-Id: I3dd013d701ed1cd99ba7ef20d1898f343e1db8f5
fixes: bz#1770100
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue:

libgfchangelog.so: cannot open shared object file

Due to hardcoded shared library name runtime loader looks for particular version of
a shared library.

Solution:

Using find_library to locate shared library at runtime solves this issue.

Traceback (most recent call last):
  File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py", line 323, in main
    func(args)
  File "/usr/libexec/glusterfs/python/syncdaemon/subcmds.py", line 82, in subcmd_worker
    local.service_loop(remote)
  File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 1261, in service_loop
    changelog_agent.init()
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 233, in __call__
    return self.ins(self.meth, *a)
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 215, in __call__
    raise res
OSError: libgfchangelog.so: cannot open shared object file: No such file or directory

Backport of:
 &gt; Patch: https://review.gluster.org/22557
 &gt; Change-Id: I3dd013d701ed1cd99ba7ef20d1898f343e1db8f5
 &gt; BUG: 1699394
 &gt; Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
(cherry picked from commit f316c8b797283818bd800569771870a4b9bf1310)

Change-Id: I3dd013d701ed1cd99ba7ef20d1898f343e1db8f5
fixes: bz#1770100
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfind: revert shebangs to #!/usr/bin/python3</title>
<updated>2019-03-02T11:54:35+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2019-02-22T14:25:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=06a65016f17452130d826baea5b3879122dc950e'/>
<id>06a65016f17452130d826baea5b3879122dc950e</id>
<content type='text'>
Using #!/usr/bin/env python is illegal in Fedora and RHEL packaging.
(Debian and SUSE packaging will complain about it too but don't
enforce it like Fedora packaging does. Yet.)

We went through a giant exercise fixing these once already.

The python needs to be python2/python3 clean. There is a build
scriptlet that converts the shebangs back to /usr/bin/python on rhel7.

Change-Id: If208a2557f7e5d727cda98c27905e249cf485d5b
fixes: bz#1683716
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using #!/usr/bin/env python is illegal in Fedora and RHEL packaging.
(Debian and SUSE packaging will complain about it too but don't
enforce it like Fedora packaging does. Yet.)

We went through a giant exercise fixing these once already.

The python needs to be python2/python3 clean. There is a build
scriptlet that converts the shebangs back to /usr/bin/python on rhel7.

Change-Id: If208a2557f7e5d727cda98c27905e249cf485d5b
fixes: bz#1683716
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfind: python2 to python3 compat</title>
<updated>2019-02-02T03:08:45+00:00</updated>
<author>
<name>Shwetha K Acharya</name>
<email>sacharya@redhat.com</email>
</author>
<published>2018-12-10T08:15:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=23e530a135fc419fba401448290f8b1809e23f53'/>
<id>23e530a135fc419fba401448290f8b1809e23f53</id>
<content type='text'>
Made necessary modifications to ensure python3 compatibilty.

fixes: bz#1658116
Change-Id: I5cf1d0447eaf3c44eb444245d1f67aadd60705c3
Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Made necessary modifications to ensure python3 compatibilty.

fixes: bz#1658116
Change-Id: I5cf1d0447eaf3c44eb444245d1f67aadd60705c3
Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tools/glusterfind: option to display only files/directories</title>
<updated>2019-01-23T03:16:52+00:00</updated>
<author>
<name>Shwetha K Acharya</name>
<email>sacharya@redhat.com</email>
</author>
<published>2018-12-31T05:25:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=d193ed84ae2886d89b899e02e9642e61bdab462a'/>
<id>d193ed84ae2886d89b899e02e9642e61bdab462a</id>
<content type='text'>
Updated full find to filter for files and directories.
--full --type f  lists only the files,
--full --type d lists only the directories,
--full (by default) lists both files and directories.

fixes: #579
Change-Id: If2c91a21a131667d5de34635c1846013e8fa20b7
Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updated full find to filter for files and directories.
--full --type f  lists only the files,
--full --type d lists only the directories,
--full (by default) lists both files and directories.

fixes: #579
Change-Id: If2c91a21a131667d5de34635c1846013e8fa20b7
Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tools: stack-buffer-overflow reported by asan</title>
<updated>2018-12-12T04:45:01+00:00</updated>
<author>
<name>Harpreet Kaur</name>
<email>hlalwani@redhat.com</email>
</author>
<published>2018-12-11T09:37:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3e3d83ee359c8bc8a8694865e0a8af869b2b8f33'/>
<id>3e3d83ee359c8bc8a8694865e0a8af869b2b8f33</id>
<content type='text'>
This patch fixes buffer overflow in $SRC/tools/setgfid2path/src/main.c
Memory access at offset 196 overflows "pgfid" variable
SUMMARY: AddressSanitizer: stack-buffer-overflow (/lib64/libasan.so.5+0x4e935)

updates: bz#1633930

Change-Id: Ib508c57e96c46b628f63c511437b853b39ae7955
Signed-off-by: Harpreet Kaur &lt;hlalwani@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes buffer overflow in $SRC/tools/setgfid2path/src/main.c
Memory access at offset 196 overflows "pgfid" variable
SUMMARY: AddressSanitizer: stack-buffer-overflow (/lib64/libasan.so.5+0x4e935)

updates: bz#1633930

Change-Id: Ib508c57e96c46b628f63c511437b853b39ae7955
Signed-off-by: Harpreet Kaur &lt;hlalwani@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Move devel headers under glusterfs directory</title>
<updated>2018-12-05T21:47:04+00:00</updated>
<author>
<name>ShyamsundarR</name>
<email>srangana@redhat.com</email>
</author>
<published>2018-11-29T19:08:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=20ef211cfa5b5fcc437484a879fdc5d4c66bbaf5'/>
<id>20ef211cfa5b5fcc437484a879fdc5d4c66bbaf5</id>
<content type='text'>
libglusterfs devel package headers are referenced in code using
include semantics for a program, this while it works can be better
especially when dealing with out of tree xlator builds or in
general out of tree devel package usage.

Towards this, the following changes are done,
- moved all devel headers under a glusterfs directory
- Included these headers using system header notation &lt;&gt; in all
code outside of libglusterfs
- Included these headers using own program notation "" within
libglusterfs

This change although big, is just moving around the headers and
making it correct when including these headers from other sources.

This helps us correctly include libglusterfs includes without
namespace conflicts.

Change-Id: Id2a98854e671a7ee5d73be44da5ba1a74252423b
Updates: bz#1193929
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libglusterfs devel package headers are referenced in code using
include semantics for a program, this while it works can be better
especially when dealing with out of tree xlator builds or in
general out of tree devel package usage.

Towards this, the following changes are done,
- moved all devel headers under a glusterfs directory
- Included these headers using system header notation &lt;&gt; in all
code outside of libglusterfs
- Included these headers using own program notation "" within
libglusterfs

This change although big, is just moving around the headers and
making it correct when including these headers from other sources.

This helps us correctly include libglusterfs includes without
namespace conflicts.

Change-Id: Id2a98854e671a7ee5d73be44da5ba1a74252423b
Updates: bz#1193929
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfind: add logs to identify parsing phases</title>
<updated>2018-09-24T17:56:42+00:00</updated>
<author>
<name>Milind Changire</name>
<email>mchangir@redhat.com</email>
</author>
<published>2018-09-24T12:23:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=48a06e0eaff8b613c3e05d8168e8faff838b727f'/>
<id>48a06e0eaff8b613c3e05d8168e8faff838b727f</id>
<content type='text'>
Add logs to idenitfy start and finish of changelog parsing phases.

Change-Id: Id250231f2af7829f887401d30ac98875ae1ae793
fixes: bz#1632236
Signed-off-by: Milind Changire &lt;mchangir@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add logs to idenitfy start and finish of changelog parsing phases.

Change-Id: Id250231f2af7829f887401d30ac98875ae1ae793
fixes: bz#1632236
Signed-off-by: Milind Changire &lt;mchangir@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
