<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/cluster/ec/src, branch v5.4</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>cluster/ec: prevent infinite loop in self-heal full</title>
<updated>2018-11-29T15:31:39+00:00</updated>
<author>
<name>Xavi Hernandez</name>
<email>xhernandez@redhat.com</email>
</author>
<published>2018-10-31T11:26:43+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=73f586a007dcffc9692f5f6be3a512a31c4a31ce'/>
<id>73f586a007dcffc9692f5f6be3a512a31c4a31ce</id>
<content type='text'>
There was a problem in commit 7f81067 that caused infinite loop when
full heal was triggered.

The previous commit was made to prevent self-heal to go idle after a
replace brick operation. One of the changes consisted on setting a
flag to force an immediate scan of the dirty directory if a heal on
a directory succeeded (assuming it could have generated newer entries).

However that change was causing an issue with a full self-heal, since
every time an already healed directory was checked and it returned
suceessfully, it was also setting the flag, forcing self-heal to start
over again.

This patch fixes this issue by only setting the flag if the heal is not
full. It's assumed that a full self-heal will already traverse all
entries automatically, so there's no need to force a new scan later.

&gt;Change-Id: Id12dbfc04e622b18183e796cc6cc87ccc30a6d55
&gt;fixes: bz#1636631
&gt;Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;
(cherry picked from commit 7150c51ad75ccba22045a35fc31e5037612d1ad4)

Change-Id: Id12dbfc04e622b18183e796cc6cc87ccc30a6d55
fixes: bz#1651525
Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was a problem in commit 7f81067 that caused infinite loop when
full heal was triggered.

The previous commit was made to prevent self-heal to go idle after a
replace brick operation. One of the changes consisted on setting a
flag to force an immediate scan of the dirty directory if a heal on
a directory succeeded (assuming it could have generated newer entries).

However that change was causing an issue with a full self-heal, since
every time an already healed directory was checked and it returned
suceessfully, it was also setting the flag, forcing self-heal to start
over again.

This patch fixes this issue by only setting the flag if the heal is not
full. It's assumed that a full self-heal will already traverse all
entries automatically, so there's no need to force a new scan later.

&gt;Change-Id: Id12dbfc04e622b18183e796cc6cc87ccc30a6d55
&gt;fixes: bz#1636631
&gt;Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;
(cherry picked from commit 7150c51ad75ccba22045a35fc31e5037612d1ad4)

Change-Id: Id12dbfc04e622b18183e796cc6cc87ccc30a6d55
fixes: bz#1651525
Signed-off-by: Xavi Hernandez &lt;xhernandez@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: Change log level to DEBUG for lookup combine</title>
<updated>2018-11-14T15:36:52+00:00</updated>
<author>
<name>Ashish Pandey</name>
<email>aspandey@redhat.com</email>
</author>
<published>2018-10-17T09:48:34+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=26a40f8b5c7f46b0390fd7b15a6bd5a77d0176cd'/>
<id>26a40f8b5c7f46b0390fd7b15a6bd5a77d0176cd</id>
<content type='text'>
As lookup is not a locked fop, we can not trust the
data received in this to be same.

Changing the log level to DEBUG in case lookup finds any
difference.

(cherry picked from commit 9be6bf3d90e3783b3ba559c93d41b933f8d53f03)

Change-Id: I39499c44688a2455c7c6c69a798762d045d21b39
updates: bz#1644622
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As lookup is not a locked fop, we can not trust the
data received in this to be same.

Changing the log level to DEBUG in case lookup finds any
difference.

(cherry picked from commit 9be6bf3d90e3783b3ba559c93d41b933f8d53f03)

Change-Id: I39499c44688a2455c7c6c69a798762d045d21b39
updates: bz#1644622
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>all: fix the format string exceptions</title>
<updated>2018-11-09T14:03:02+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2018-11-06T17:17:41+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=83304fedb464fe3f97db662ce3e07bd948b7b7d9'/>
<id>83304fedb464fe3f97db662ce3e07bd948b7b7d9</id>
<content type='text'>
Currently, there are possibilities in few places, where a user-controlled
(like filename, program parameter etc) string can be passed as 'fmt' for
printf(), which can lead to segfault, if the user's string contains '%s',
'%d' in it.

While fixing it, makes sense to make the explicit check for such issues
across the codebase, by making the format call properly.

Fixes: CVE-2018-14661

Fixes: bz#1647666
Change-Id: Ib547293f2d9eb618594cbff0df3b9c800e88bde4
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, there are possibilities in few places, where a user-controlled
(like filename, program parameter etc) string can be passed as 'fmt' for
printf(), which can lead to segfault, if the user's string contains '%s',
'%d' in it.

While fixing it, makes sense to make the explicit check for such issues
across the codebase, by making the format call properly.

Fixes: CVE-2018-14661

Fixes: bz#1647666
Change-Id: Ib547293f2d9eb618594cbff0df3b9c800e88bde4
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Land part 2 of clang-format changes</title>
<updated>2018-09-12T12:22:45+00:00</updated>
<author>
<name>Gluster Ant</name>
<email>bugzilla-bot@gluster.org</email>
</author>
<published>2018-09-12T12:22:45+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=e16868dede6455cab644805af6fe1ac312775e13'/>
<id>e16868dede6455cab644805af6fe1ac312775e13</id>
<content type='text'>
Change-Id: Ia84cc24c8924e6d22d02ac15f611c10e26db99b4
Signed-off-by: Nigel Babu &lt;nigelb@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ia84cc24c8924e6d22d02ac15f611c10e26db99b4
Signed-off-by: Nigel Babu &lt;nigelb@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Land clang-format changes</title>
<updated>2018-09-12T11:52:48+00:00</updated>
<author>
<name>Gluster Ant</name>
<email>bugzilla-bot@gluster.org</email>
</author>
<published>2018-09-12T11:52:48+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=45a71c0548b6fd2c757aa2e7b7671a1411948894'/>
<id>45a71c0548b6fd2c757aa2e7b7671a1411948894</id>
<content type='text'>
Change-Id: I6f5d8140a06f3c1b2d196849299f8d483028d33b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I6f5d8140a06f3c1b2d196849299f8d483028d33b
</pre>
</div>
</content>
</entry>
<entry>
<title>ec-heal: remove a duplicate definition of alloca0</title>
<updated>2018-09-10T05:45:18+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2018-09-10T05:44:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=b92d5c616e93e28b1c39bbed7cc78361e0b5d691'/>
<id>b92d5c616e93e28b1c39bbed7cc78361e0b5d691</id>
<content type='text'>
the same macro is defined in common-utils.h, which seems to be
much better place for the same.

Updates: bz#1193929

Change-Id: I409b719c291102136500b955e5827a550142ed96
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the same macro is defined in common-utils.h, which seems to be
much better place for the same.

Updates: bz#1193929

Change-Id: I409b719c291102136500b955e5827a550142ed96
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: Don't update trusted.ec.version if fop succeeds</title>
<updated>2018-09-07T07:29:39+00:00</updated>
<author>
<name>Ashish Pandey</name>
<email>aspandey@redhat.com</email>
</author>
<published>2018-09-06T05:50:32+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=527dffeb699e5ac857a798d462a3fba4aed3c5a5'/>
<id>527dffeb699e5ac857a798d462a3fba4aed3c5a5</id>
<content type='text'>
If a fop has succeeded on all the bricks and trying to release
the lock, there is no need to update the version for the
file/entry. All it will do is to increase the version from
x to x+1 on all the bricks.

If this update (x to x+1) fails on some brick, this will indicate
that the entry is unhealthy while in realty everything is fine
with the entry.

Avoiding this update will help to not to send one xattrop
at the end of the fops. Which will decrease the chances
of entries being in unhealthy state and also improve the
performance.

Change-Id: Id9fca6bd2991425db6ed7d1f36af27027accb636
fixes: bz#1623759
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a fop has succeeded on all the bricks and trying to release
the lock, there is no need to update the version for the
file/entry. All it will do is to increase the version from
x to x+1 on all the bricks.

If this update (x to x+1) fails on some brick, this will indicate
that the entry is unhealthy while in realty everything is fine
with the entry.

Avoiding this update will help to not to send one xattrop
at the end of the fops. Which will decrease the chances
of entries being in unhealthy state and also improve the
performance.

Change-Id: Id9fca6bd2991425db6ed7d1f36af27027accb636
fixes: bz#1623759
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: Improve logging for some critical error messages</title>
<updated>2018-09-07T07:23:21+00:00</updated>
<author>
<name>Ashish Pandey</name>
<email>aspandey@redhat.com</email>
</author>
<published>2018-09-03T08:31:23+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=18543fec0da8d0459501fb96f8efb019190bf223'/>
<id>18543fec0da8d0459501fb96f8efb019190bf223</id>
<content type='text'>
Change-Id: I037e52a3467467b81a1ba5416317870864060d4d
updates: bz#1615703
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I037e52a3467467b81a1ba5416317870864060d4d
updates: bz#1615703
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: Fix Coverity issue</title>
<updated>2018-08-31T12:56:49+00:00</updated>
<author>
<name>Ashish Pandey</name>
<email>aspandey@redhat.com</email>
</author>
<published>2018-08-30T09:38:02+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=67cfacaa9d5ce31240a4d39e81b2984a57ac8865'/>
<id>67cfacaa9d5ce31240a4d39e81b2984a57ac8865</id>
<content type='text'>
Fix following coverity issues-

CID:
1382378
1382459

https://scan6.coverity.com/reports.htm#v42607/p10714/fileInstanceId=85091670&amp;defectInstanceId=25915064&amp;mergedDefectId=1382459
https://scan6.coverity.com/reports.htm#v42607/p10714/fileInstanceId=85091670&amp;defectInstanceId=25915063&amp;mergedDefectId=1382378

Problem:
ASSERT_LOCAL(this, healer) function is supposed to get the local healer
so that we can take advantage of it while healing and reading data.

However, we are not using healer-&gt;local anywhere.
Also, this is not as useful in context of EC as it is in AFR.
In EC we have to raed fragments from 4 bricks to heal a bad
fragment on other brick.

Change-Id: Iea8ce127ea02cc84e3823cb2be82a47872217b33
updates: bz#789278
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix following coverity issues-

CID:
1382378
1382459

https://scan6.coverity.com/reports.htm#v42607/p10714/fileInstanceId=85091670&amp;defectInstanceId=25915064&amp;mergedDefectId=1382459
https://scan6.coverity.com/reports.htm#v42607/p10714/fileInstanceId=85091670&amp;defectInstanceId=25915063&amp;mergedDefectId=1382378

Problem:
ASSERT_LOCAL(this, healer) function is supposed to get the local healer
so that we can take advantage of it while healing and reading data.

However, we are not using healer-&gt;local anywhere.
Also, this is not as useful in context of EC as it is in AFR.
In EC we have to raed fragments from 4 bricks to heal a bad
fragment on other brick.

Change-Id: Iea8ce127ea02cc84e3823cb2be82a47872217b33
updates: bz#789278
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>multiple files: remove unndeeded memset()</title>
<updated>2018-08-29T17:31:11+00:00</updated>
<author>
<name>Yaniv Kaul</name>
<email>ykaul@redhat.com</email>
</author>
<published>2018-08-24T17:59:30+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=cbe133c832fd9907619a1231aa3d9dda1330ae74'/>
<id>cbe133c832fd9907619a1231aa3d9dda1330ae74</id>
<content type='text'>
This is a squash of multiple commits:

contrib/fuse-lib/misc.c: remove unneeded memset()

All flock variables are properly set, no need to memset it.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I8e0512c5a88daadb0e587f545fdb9b32ca8858a2

libglusterfs/src/{client_t|fd|inode|stack}.c: remove some memset()

I don't think there's a need for any of them.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I2be9ccc3a5cb5da51a92af73488cdabd1c527f59

libglusterfs/src/xlator.c: remove unneeded memset()

All xl-&gt;mem_acct members are properly set,
no need to memset it.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I7f264cd47e7a06255a3f3943c583de77ae8e3147

xlators/cluster/afr/src/afr-self-heal-common.c: remove unneeded memset()

Since we are going over the whole array anyway, initialize it
properly, to either 1 or 0.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: Ied4210388976b6a7a2e91cc3de334534d6fef201

xlators/cluster/dht/src/dht-common.c: remove unneeded memset()

Since we are going over the whole array anyway it is initialized
properly.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: Idc436d2bd0563b6582908d7cbebf9dbc66a42c9a

xlators/cluster/ec/src/ec-helpers.c: remove unneeded memset()

Since we are going over the whole array anyway it is initialized
properly.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I81bf971f7fcecb4599e807d37f426f55711978fa

xlators/mgmt/glusterd/src/glusterd-volgen.c: remove some memset()

I don't think there's a need for any of them.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I476ea59ba53546b5153c269692cd5383da81ce2d

xlators/mgmt/glusterd/src/glusterd-geo-rep.c: read() in 4K blocks

The current 1K seems small. 4K is usually better (in Linux).

Also remove a memset() that I don't think is needed between reads.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I5fb7950c92d282948376db14919ad12e589eac2b

xlators/storage/posix/src/posix-{gfid-path|inode-fd-ops}.c: remove memset()
before sys_*xattr() functions.

I don't see a reason to memset the array sent to the functions
sys_llistxattr(), sys_lgetxattr(), sys_lgetxattr(), sys_flistxattr(),
sys_fgetxattr().

(Note: it's unclear to me why we are calling sys_*txattr() functions with
XATTR_VAL_BUF_SIZE-1 size instead of XATTR_VAL_BUF_SIZE ).

Only compile-tested!

Change-Id: Ief2103b56ba6c71e40ed343a93684eef6b771346
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>
This is a squash of multiple commits:

contrib/fuse-lib/misc.c: remove unneeded memset()

All flock variables are properly set, no need to memset it.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I8e0512c5a88daadb0e587f545fdb9b32ca8858a2

libglusterfs/src/{client_t|fd|inode|stack}.c: remove some memset()

I don't think there's a need for any of them.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I2be9ccc3a5cb5da51a92af73488cdabd1c527f59

libglusterfs/src/xlator.c: remove unneeded memset()

All xl-&gt;mem_acct members are properly set,
no need to memset it.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I7f264cd47e7a06255a3f3943c583de77ae8e3147

xlators/cluster/afr/src/afr-self-heal-common.c: remove unneeded memset()

Since we are going over the whole array anyway, initialize it
properly, to either 1 or 0.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: Ied4210388976b6a7a2e91cc3de334534d6fef201

xlators/cluster/dht/src/dht-common.c: remove unneeded memset()

Since we are going over the whole array anyway it is initialized
properly.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: Idc436d2bd0563b6582908d7cbebf9dbc66a42c9a

xlators/cluster/ec/src/ec-helpers.c: remove unneeded memset()

Since we are going over the whole array anyway it is initialized
properly.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I81bf971f7fcecb4599e807d37f426f55711978fa

xlators/mgmt/glusterd/src/glusterd-volgen.c: remove some memset()

I don't think there's a need for any of them.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I476ea59ba53546b5153c269692cd5383da81ce2d

xlators/mgmt/glusterd/src/glusterd-geo-rep.c: read() in 4K blocks

The current 1K seems small. 4K is usually better (in Linux).

Also remove a memset() that I don't think is needed between reads.

Only compile-tested!

Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;

Change-Id: I5fb7950c92d282948376db14919ad12e589eac2b

xlators/storage/posix/src/posix-{gfid-path|inode-fd-ops}.c: remove memset()
before sys_*xattr() functions.

I don't see a reason to memset the array sent to the functions
sys_llistxattr(), sys_lgetxattr(), sys_lgetxattr(), sys_flistxattr(),
sys_fgetxattr().

(Note: it's unclear to me why we are calling sys_*txattr() functions with
XATTR_VAL_BUF_SIZE-1 size instead of XATTR_VAL_BUF_SIZE ).

Only compile-tested!

Change-Id: Ief2103b56ba6c71e40ed343a93684eef6b771346
updates: bz#1193929
Signed-off-by: Yaniv Kaul &lt;ykaul@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
