<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git, branch v6.7</title>
<subtitle>GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/'/>
<entry>
<title>doc: Added release 6.7 notes</title>
<updated>2019-12-26T15:18:24+00:00</updated>
<author>
<name>hari gowtham</name>
<email>hgowtham@redhat.com</email>
</author>
<published>2019-12-26T14:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=366d0c6c12611f29bc6e9a3666ebf1f1e048b8a6'/>
<id>366d0c6c12611f29bc6e9a3666ebf1f1e048b8a6</id>
<content type='text'>
Fixes: bz#1780540

Change-Id: I02ef8c24bc19c321ab2db1d13224ea9e89325e3a
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: bz#1780540

Change-Id: I02ef8c24bc19c321ab2db1d13224ea9e89325e3a
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc: Synchronize slot allocation code</title>
<updated>2019-12-26T06:04:33+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawal@redhat.com</email>
</author>
<published>2019-10-03T08:36:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=3d3f74fdf195f9cec3c9c79ae8f2fa50720fd09f'/>
<id>3d3f74fdf195f9cec3c9c79ae8f2fa50720fd09f</id>
<content type='text'>
Problem: Current slot allocation/deallocation code path is not
         synchronized.There are scenario when due to race condition
         in slot allocation/deallocation code path brick is crashed.

Solution: Synchronize slot allocation/deallocation code path to
          avoid the issue

&gt; Change-Id: I4fb659a75234218ffa0e5e0bf9308f669f75fc25
&gt; Fixes: bz#1763036
&gt; Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
&gt; (cherry picked from commit faf5ac13c4ee00a05e9451bf8da3be2a9043bbf2)

Change-Id: I4fb659a75234218ffa0e5e0bf9308f669f75fc25
Fixes: bz#1778182
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Current slot allocation/deallocation code path is not
         synchronized.There are scenario when due to race condition
         in slot allocation/deallocation code path brick is crashed.

Solution: Synchronize slot allocation/deallocation code path to
          avoid the issue

&gt; Change-Id: I4fb659a75234218ffa0e5e0bf9308f669f75fc25
&gt; Fixes: bz#1763036
&gt; Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
&gt; (cherry picked from commit faf5ac13c4ee00a05e9451bf8da3be2a9043bbf2)

Change-Id: I4fb659a75234218ffa0e5e0bf9308f669f75fc25
Fixes: bz#1778182
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix py2/py3 compatibility in repce</title>
<updated>2019-12-24T05:22:21+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-11-12T16:23:20+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=308991a977a6e3d5725de5321710d6dcf4983bb3'/>
<id>308991a977a6e3d5725de5321710d6dcf4983bb3</id>
<content type='text'>
Geo-rep fails to start on python2 only machine like
centos6. It fails with "ImportError no module named _io".
This patch fixes the same.

Backport of:
 &gt; Patch: https://review.gluster.org//23702/
 &gt; BUG: 1771577
 &gt; Change-Id: I8228458a853a230546f9faf29a0e9e0f23b3efec
 &gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit 9595ecca3de49fdf37d30b151f5c3e071e0a80d0)

fixes: bz#1771842
Change-Id: I8228458a853a230546f9faf29a0e9e0f23b3efec
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Geo-rep fails to start on python2 only machine like
centos6. It fails with "ImportError no module named _io".
This patch fixes the same.

Backport of:
 &gt; Patch: https://review.gluster.org//23702/
 &gt; BUG: 1771577
 &gt; Change-Id: I8228458a853a230546f9faf29a0e9e0f23b3efec
 &gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit 9595ecca3de49fdf37d30b151f5c3e071e0a80d0)

fixes: bz#1771842
Change-Id: I8228458a853a230546f9faf29a0e9e0f23b3efec
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: fix non-root test case for geo-rep</title>
<updated>2019-12-24T05:20:57+00:00</updated>
<author>
<name>Sunny Kumar</name>
<email>sunkumar@redhat.com</email>
</author>
<published>2019-12-16T12:52:41+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=0ff62bab64b184cba25655f553fee1649826345b'/>
<id>0ff62bab64b184cba25655f553fee1649826345b</id>
<content type='text'>
Problem:
On a freshly installed system non-root geo-rep test case gets blocked.

Solution:

On a freshly installed system, the remote key need to be accepted automatically by ssh-copy-id.

Credits: M. Scherer &lt;mscherer@redhat.com&gt;

Backport of:

&gt;    Change-Id: I5077f99a6681660f7e3e84c25ef216f521b7c29c
&gt;    Fixes: bz#1779742
&gt;    Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;

Change-Id: I5077f99a6681660f7e3e84c25ef216f521b7c29c
Fixes: bz#1784796
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
On a freshly installed system non-root geo-rep test case gets blocked.

Solution:

On a freshly installed system, the remote key need to be accepted automatically by ssh-copy-id.

Credits: M. Scherer &lt;mscherer@redhat.com&gt;

Backport of:

&gt;    Change-Id: I5077f99a6681660f7e3e84c25ef216f521b7c29c
&gt;    Fixes: bz#1779742
&gt;    Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;

Change-Id: I5077f99a6681660f7e3e84c25ef216f521b7c29c
Fixes: bz#1784796
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>socket: fix error handling</title>
<updated>2019-12-13T11:48:19+00:00</updated>
<author>
<name>Xavi Hernandez</name>
<email>xhernandez@redhat.com</email>
</author>
<published>2019-12-11T17:21:14+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=78b63e0feed1937cae66156ea455a3977847a2fd'/>
<id>78b63e0feed1937cae66156ea455a3977847a2fd</id>
<content type='text'>
When __socket_proto_state_machine() detected a problem in the size of
the request or it couldn't allocate an iobuf of the requested size, it
returned -ENOMEM (-12). However the caller was expecting only -1 in
case of error. For this reason the error passes undetected initially,
adding back the socket to the epoll object. On further processing,
however, the error is finally detected and the connection terminated.
Meanwhile, another thread could receive a poll_in event from the same
connection, which could cause races with the connection destruction.
When this happened, the process crashed.

To fix this, all error detection conditions have been hardened to be
more strict on what is valid and what not. Also, we don't return
-ENOMEM anymore. We always return -1 in case of error.

An additional change has been done to prevent destruction of the
transport object while it may still be needed.

Backport of:
&gt; Change-Id: I6e59cd81cbf670f7adfdde942625d4e6c3fbc82d
&gt; Fixes: bz#1782495
&gt; Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;

Change-Id: I6e59cd81cbf670f7adfdde942625d4e6c3fbc82d
Fixes: bz#1749625
Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When __socket_proto_state_machine() detected a problem in the size of
the request or it couldn't allocate an iobuf of the requested size, it
returned -ENOMEM (-12). However the caller was expecting only -1 in
case of error. For this reason the error passes undetected initially,
adding back the socket to the epoll object. On further processing,
however, the error is finally detected and the connection terminated.
Meanwhile, another thread could receive a poll_in event from the same
connection, which could cause races with the connection destruction.
When this happened, the process crashed.

To fix this, all error detection conditions have been hardened to be
more strict on what is valid and what not. Also, we don't return
-ENOMEM anymore. We always return -1 in case of error.

An additional change has been done to prevent destruction of the
transport object while it may still be needed.

Backport of:
&gt; Change-Id: I6e59cd81cbf670f7adfdde942625d4e6c3fbc82d
&gt; Fixes: bz#1782495
&gt; Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;

Change-Id: I6e59cd81cbf670f7adfdde942625d4e6c3fbc82d
Fixes: bz#1749625
Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extras: Cgroup(CPU/Mem) restriction are not working on gluster process</title>
<updated>2019-11-19T13:31:52+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawal@redhat.com</email>
</author>
<published>2019-10-22T13:22:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=c95bfb0fddc609d39c2e2a44fe7dce1d95ccf506'/>
<id>c95bfb0fddc609d39c2e2a44fe7dce1d95ccf506</id>
<content type='text'>
Problem: After Configure the Cgroup(CPU/MEM) limit to a gluster processes
         resource(CPU/MEM) limits are not applicable to the gluster
         processes.Cgroup limits are not applicable because all threads are
         not moved into a newly created cgroup to apply restriction.

Solution: To move a gluster thread to newly created cgroup change the
          condition in script

&gt; Change-Id: I8ad81c69200e4ec43a74f6052481551cf835354c
&gt; Fixes: bz#1764208
&gt; Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
&gt; (cherry picked from commit f5811979935ce607391825ac6913a95f588818e3)
&gt; (Reviewed on upstream link https://review.gluster.org/#/c/glusterfs/+/23599/)

Change-Id: I8ad81c69200e4ec43a74f6052481551cf835354c
Fixes: bz#1766425
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: After Configure the Cgroup(CPU/MEM) limit to a gluster processes
         resource(CPU/MEM) limits are not applicable to the gluster
         processes.Cgroup limits are not applicable because all threads are
         not moved into a newly created cgroup to apply restriction.

Solution: To move a gluster thread to newly created cgroup change the
          condition in script

&gt; Change-Id: I8ad81c69200e4ec43a74f6052481551cf835354c
&gt; Fixes: bz#1764208
&gt; Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
&gt; (cherry picked from commit f5811979935ce607391825ac6913a95f588818e3)
&gt; (Reviewed on upstream link https://review.gluster.org/#/c/glusterfs/+/23599/)

Change-Id: I8ad81c69200e4ec43a74f6052481551cf835354c
Fixes: bz#1766425
Signed-off-by: Mohit Agrawal &lt;moagrawal@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='https://fedorapeople.org/cgit/anoopcs/public_git/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>Detach iot_worker to release its resources</title>
<updated>2019-11-06T11:02:35+00:00</updated>
<author>
<name>Liguang Li</name>
<email>liguang.lee6@gmail.com</email>
</author>
<published>2019-06-21T04:18:58+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=6b23d7bb7c8250b0e95b64705f5f7ca7c00819a9'/>
<id>6b23d7bb7c8250b0e95b64705f5f7ca7c00819a9</id>
<content type='text'>
When iot_worker terminates, its resources have not been reaped, which
will consumes lots of memory.

Detach iot_worker to automically release its resources back to the
system.

Change-Id: I71fabb2940e76ad54dc56b4c41aeeead2644b8bb
fixes: bz#1768726
Signed-off-by: Liguang Li &lt;liguang.lee6@gmail.com&gt;
Signed-off-by: N Balachandran &lt;nbalacha@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When iot_worker terminates, its resources have not been reaped, which
will consumes lots of memory.

Detach iot_worker to automically release its resources back to the
system.

Change-Id: I71fabb2940e76ad54dc56b4c41aeeead2644b8bb
fixes: bz#1768726
Signed-off-by: Liguang Li &lt;liguang.lee6@gmail.com&gt;
Signed-off-by: N Balachandran &lt;nbalacha@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: Update lock-&gt;good_mask on parent fop failure</title>
<updated>2019-10-30T08:18:19+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2019-08-02T06:35:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b100f7f4dca1971cfdbfb88e0b922bb5885cc7d6'/>
<id>b100f7f4dca1971cfdbfb88e0b922bb5885cc7d6</id>
<content type='text'>
When discard/truncate performs write fop, it should do so
after updating lock-&gt;good_mask to make sure readv happens
on the correct mask

fixes: bz#1739449
Change-Id: Idfef0bbcca8860d53707094722e6ba3f81c583b7
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When discard/truncate performs write fop, it should do so
after updating lock-&gt;good_mask to make sure readv happens
on the correct mask

fixes: bz#1739449
Change-Id: Idfef0bbcca8860d53707094722e6ba3f81c583b7
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: Fix reopen flags to avoid misbehavior</title>
<updated>2019-10-30T08:18:19+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2019-07-29T08:38:37+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=46e83e48ad37bf5c2a54d3bb5aa6e09d3d0382ff'/>
<id>46e83e48ad37bf5c2a54d3bb5aa6e09d3d0382ff</id>
<content type='text'>
Problem:
when a file needs to be re-opened O_APPEND and O_EXCL
flags are not filtered in EC.

- O_APPEND should be filtered because EC doesn't send O_APPEND below EC for
open to make sure writes happen on the individual fragments instead of at the
end of the file.

- O_EXCL should be filtered because shd could have created the file so even
when file exists open should succeed

- O_CREAT should be filtered because open happens with gfid as parameter. So
open fop will create just the gfid which will lead to problems.

Fix:
Filter out these two flags in reopen.

Change-Id: Ia280470fcb5188a09caa07bf665a2a94bce23bc4
Fixes: bz#1739450
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
when a file needs to be re-opened O_APPEND and O_EXCL
flags are not filtered in EC.

- O_APPEND should be filtered because EC doesn't send O_APPEND below EC for
open to make sure writes happen on the individual fragments instead of at the
end of the file.

- O_EXCL should be filtered because shd could have created the file so even
when file exists open should succeed

- O_CREAT should be filtered because open happens with gfid as parameter. So
open fop will create just the gfid which will lead to problems.

Fix:
Filter out these two flags in reopen.

Change-Id: Ia280470fcb5188a09caa07bf665a2a94bce23bc4
Fixes: bz#1739450
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
