<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators, branch v4.0dev1</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>xlator/tier: flood of -Wformat-truncation warnings with gcc-7.1</title>
<updated>2017-11-01T13:31:13+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2017-09-14T17:43:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=5424c63fe146e42cfc9be45b0b9830bcc948b7aa'/>
<id>5424c63fe146e42cfc9be45b0b9830bcc948b7aa</id>
<content type='text'>
Starting in Fedora 26 which has gcc-7.1.x, -Wformat-trunction is enabled
with -Wformat, resulting in a flood of new warnings. This many warnings
is a concern because it makes it hard(er) to see other warnings that
should be addressed.

An example is at
https://kojipkgs.fedoraproject.org//packages/glusterfs/3.12.0/1.fc28/data/logs/x86_64/build.log

For more info see https://review.gluster.org/#/c/18267/

Change-Id: Id7ef8e0dedd28ada55f72c03d91facbe1c9888bd
BUG: 1492849
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Starting in Fedora 26 which has gcc-7.1.x, -Wformat-trunction is enabled
with -Wformat, resulting in a flood of new warnings. This many warnings
is a concern because it makes it hard(er) to see other warnings that
should be addressed.

An example is at
https://kojipkgs.fedoraproject.org//packages/glusterfs/3.12.0/1.fc28/data/logs/x86_64/build.log

For more info see https://review.gluster.org/#/c/18267/

Change-Id: Id7ef8e0dedd28ada55f72c03d91facbe1c9888bd
BUG: 1492849
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: Fix crash bug when mnt3_resolve_subdir_cbk() fails</title>
<updated>2017-11-01T13:30:28+00:00</updated>
<author>
<name>Shreyas Siravara</name>
<email>sshreyas@fb.com</email>
</author>
<published>2016-06-08T18:53:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=4a53ed72478c3ce788e295223d45cb578949241e'/>
<id>4a53ed72478c3ce788e295223d45cb578949241e</id>
<content type='text'>
Summary:
When mnt3_resolve_subdir_cbk() fails (this can happen when racing
operations), authorized_path is sometimes NULL. We try to run strlen()
on this path and as a result we crash. This diff fixes that by checking
if path is NULL before dereferencing it.

Test Plan: Run with patch and observe that there is no crash. Prove test
for auth code.

BUG: 1365683
Change-Id: I2e2bdfdc61ae906788611e151d2c753b79b312df
Signed-off-by: Shreyas Siravara &lt;sshreyas@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
When mnt3_resolve_subdir_cbk() fails (this can happen when racing
operations), authorized_path is sometimes NULL. We try to run strlen()
on this path and as a result we crash. This diff fixes that by checking
if path is NULL before dereferencing it.

Test Plan: Run with patch and observe that there is no crash. Prove test
for auth code.

BUG: 1365683
Change-Id: I2e2bdfdc61ae906788611e151d2c753b79b312df
Signed-off-by: Shreyas Siravara &lt;sshreyas@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: FORWARD_NULL coverity fix</title>
<updated>2017-11-01T13:29:05+00:00</updated>
<author>
<name>Sunil Kumar Acharya</name>
<email>sheggodu@redhat.com</email>
</author>
<published>2017-10-31T10:06:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f6983f825f10f1795118ca140fd32e9c280bb5a4'/>
<id>f6983f825f10f1795118ca140fd32e9c280bb5a4</id>
<content type='text'>
Problem: frame could be NULL.

Solution: Added check to verify frame.

BUG: 789278
Change-Id: I55a64c936ae71ec8587a3f9dfa0fdee5d0ea5213
Signed-off-by: Sunil Kumar Acharya &lt;sheggodu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: frame could be NULL.

Solution: Added check to verify frame.

BUG: 789278
Change-Id: I55a64c936ae71ec8587a3f9dfa0fdee5d0ea5213
Signed-off-by: Sunil Kumar Acharya &lt;sheggodu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: FORWARD_NULL coverity fix</title>
<updated>2017-11-01T13:28:51+00:00</updated>
<author>
<name>Sunil Kumar Acharya</name>
<email>sheggodu@redhat.com</email>
</author>
<published>2017-10-31T07:07:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=afa8df9ee249fac2a20f3d367dcadcee1451184e'/>
<id>afa8df9ee249fac2a20f3d367dcadcee1451184e</id>
<content type='text'>
Problem: cbk could be NULL.

Solution: Assigned appropriate value to cbk.

BUG: 789278
Change-Id: I2e4bba9a54f965c6a7bccf0b0cb6c5f75399f6e6
Signed-off-by: Sunil Kumar Acharya &lt;sheggodu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: cbk could be NULL.

Solution: Assigned appropriate value to cbk.

BUG: 789278
Change-Id: I2e4bba9a54f965c6a7bccf0b0cb6c5f75399f6e6
Signed-off-by: Sunil Kumar Acharya &lt;sheggodu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: fix brick restart parallelism</title>
<updated>2017-11-01T03:41:36+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2017-10-26T08:56:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=82be66ef8e9e3127d41a4c843daf74c1d8aec4aa'/>
<id>82be66ef8e9e3127d41a4c843daf74c1d8aec4aa</id>
<content type='text'>
glusterd's brick restart logic is not always sequential as there is
atleast three different ways how the bricks are restarted.
1. through friend-sm and glusterd_spawn_daemons ()
2. through friend-sm and handling volume quorum action
3. through friend handshaking when there is a mimatch on quorum on
friend import.

In a brick multiplexing setup, glusterd ended up trying to spawn the
same brick process couple of times as almost in fraction of milliseconds
two threads hit glusterd_brick_start () because of which glusterd didn't
have any choice of rejecting any one of them as for both the case brick
start criteria met.

As a solution, it'd be better to control this madness by two different
flags, one is a boolean called start_triggered which indicates a brick
start has been triggered and it continues to be true till a brick dies
or killed, the second is a mutex lock to ensure for a particular brick
we don't end up getting into glusterd_brick_start () more than once at
same point of time.

Change-Id: I292f1e58d6971e111725e1baea1fe98b890b43e2
BUG: 1506513
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
glusterd's brick restart logic is not always sequential as there is
atleast three different ways how the bricks are restarted.
1. through friend-sm and glusterd_spawn_daemons ()
2. through friend-sm and handling volume quorum action
3. through friend handshaking when there is a mimatch on quorum on
friend import.

In a brick multiplexing setup, glusterd ended up trying to spawn the
same brick process couple of times as almost in fraction of milliseconds
two threads hit glusterd_brick_start () because of which glusterd didn't
have any choice of rejecting any one of them as for both the case brick
start criteria met.

As a solution, it'd be better to control this madness by two different
flags, one is a boolean called start_triggered which indicates a brick
start has been triggered and it continues to be true till a brick dies
or killed, the second is a mutex lock to ensure for a particular brick
we don't end up getting into glusterd_brick_start () more than once at
same point of time.

Change-Id: I292f1e58d6971e111725e1baea1fe98b890b43e2
BUG: 1506513
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/ec: MISSING_BREAK coverity fix</title>
<updated>2017-10-31T22:16:14+00:00</updated>
<author>
<name>Sunil Kumar Acharya</name>
<email>sheggodu@redhat.com</email>
</author>
<published>2017-10-31T09:26:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=bb7fd73ce4245f54517de1f378a9471f6c8bb454'/>
<id>bb7fd73ce4245f54517de1f378a9471f6c8bb454</id>
<content type='text'>
Problem: switch case syntax issue.

Solution: syntax fixed.

BUG: 789278
Change-Id: I76da72c3ab6ffc5db671686a71d6a596beaf496e
Signed-off-by: Sunil Kumar Acharya &lt;sheggodu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: switch case syntax issue.

Solution: syntax fixed.

BUG: 789278
Change-Id: I76da72c3ab6ffc5db671686a71d6a596beaf496e
Signed-off-by: Sunil Kumar Acharya &lt;sheggodu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>snapshot: fix coverity issue 'DEADCODE'</title>
<updated>2017-10-31T12:43:22+00:00</updated>
<author>
<name>Sunny Kumar</name>
<email>sunkumar@redhat.com</email>
</author>
<published>2017-10-31T05:54:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fd397e59d8856e4d5f1ccbec1baaedb71623951e'/>
<id>fd397e59d8856e4d5f1ccbec1baaedb71623951e</id>
<content type='text'>
Problem : Unreachable code at glusterd-snapshot.c:6718
          Unreachable code at glusterd-snapshot.c:7352

FIx : Remove unreachable code

At glusterd-snapshot.c:6718 in if condition the value of "snap" must be "NULL"
to call glusterd_snap_remove() which is not possible here.

Change-Id: Id865bde7c1474a9b9ed11c0ed614676b4e2443c6
BUG: 789278
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem : Unreachable code at glusterd-snapshot.c:6718
          Unreachable code at glusterd-snapshot.c:7352

FIx : Remove unreachable code

At glusterd-snapshot.c:6718 in if condition the value of "snap" must be "NULL"
to call glusterd_snap_remove() which is not possible here.

Change-Id: Id865bde7c1474a9b9ed11c0ed614676b4e2443c6
BUG: 789278
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: delete source brick only once in reset-brick commit force</title>
<updated>2017-10-31T11:14:18+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2017-10-30T10:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0fb8acaa6ff80c43e46deac0ce66b29ae0df0ca4'/>
<id>0fb8acaa6ff80c43e46deac0ce66b29ae0df0ca4</id>
<content type='text'>
While stopping the brick which is to be reset and replaced delete_brick
flag was passed as true which resulted glusterd to free up to source
brick before the actual operation. This results commit force to fail
failing to find the source brickinfo.

Change-Id: I1aa7508eff7cc9c9b5d6f5163f3bb92736d6df44
BUG: 1507466
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While stopping the brick which is to be reset and replaced delete_brick
flag was passed as true which resulted glusterd to free up to source
brick before the actual operation. This results commit force to fail
failing to find the source brickinfo.

Change-Id: I1aa7508eff7cc9c9b5d6f5163f3bb92736d6df44
BUG: 1507466
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Xlators/features: Coverity Issue "NEGATIVE_RETURNS" in worm_truncate,worm_ftruncate,worm_link,worn_unlink and worm_rename.</title>
<updated>2017-10-31T07:56:24+00:00</updated>
<author>
<name>Subha sree Mohankumar</name>
<email>smohanku@redhat.com</email>
</author>
<published>2017-09-24T19:33:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1d92d5173b1c9e5cda60fe5c5a237fc4b82df030'/>
<id>1d92d5173b1c9e5cda60fe5c5a237fc4b82df030</id>
<content type='text'>
Issue :Event negative_returns: 	"op_errno" is passed to a parameter
that cannot be negative.

Fix : In functions worm_link,worm_unlink,worm_truncate,worm_ftruncate
and worm_rename, added an condition to check the whether value
of "op_errno" is negative or not.If the value is negative, then
it is set to EROFS.

Change-Id: Ie65601b6cc9799f587cc574408281dab50a58afb
BUG: 789278
Signed-off-by: Subha sree Mohankumar &lt;smohanku@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue :Event negative_returns: 	"op_errno" is passed to a parameter
that cannot be negative.

Fix : In functions worm_link,worm_unlink,worm_truncate,worm_ftruncate
and worm_rename, added an condition to check the whether value
of "op_errno" is negative or not.If the value is negative, then
it is set to EROFS.

Change-Id: Ie65601b6cc9799f587cc574408281dab50a58afb
BUG: 789278
Signed-off-by: Subha sree Mohankumar &lt;smohanku@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: clean up portmap on brick disconnect</title>
<updated>2017-10-31T04:36:44+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2017-10-17T16:02:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=30e0b86aae00430823f2523c6efa3c4ebbf0a478'/>
<id>30e0b86aae00430823f2523c6efa3c4ebbf0a478</id>
<content type='text'>
GlusterD's portmap entry for a brick is cleaned up when a PMAP_SIGNOUT event is
initiated by the brick process at the shutdown. But if the brick process crashes
or gets killed through SIGKILL then this event is not initiated and glusterd
ends up with a stale port. Since GlusterD's portmap traversal happens both ways,
forward for allocation and backward for registry search, there is a possibility
that glusterd might end up running with a stale port for a brick which
eventually will end up with clients to fail to connect to the bricks.

Solution is to clean up the port entry in case the process is down as
part of the brick disconnect event. Although with this the handling
PMAP_SIGNOUT event becomes redundant in most of the cases, but this is
the safeguard method to avoid glusterd getting into the stale port
issues.

Change-Id: I04c5be6d11e772ee4de16caf56dbb37d5c944303
BUG: 1503246
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GlusterD's portmap entry for a brick is cleaned up when a PMAP_SIGNOUT event is
initiated by the brick process at the shutdown. But if the brick process crashes
or gets killed through SIGKILL then this event is not initiated and glusterd
ends up with a stale port. Since GlusterD's portmap traversal happens both ways,
forward for allocation and backward for registry search, there is a possibility
that glusterd might end up running with a stale port for a brick which
eventually will end up with clients to fail to connect to the bricks.

Solution is to clean up the port entry in case the process is down as
part of the brick disconnect event. Although with this the handling
PMAP_SIGNOUT event becomes redundant in most of the cases, but this is
the safeguard method to avoid glusterd getting into the stale port
issues.

Change-Id: I04c5be6d11e772ee4de16caf56dbb37d5c944303
BUG: 1503246
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
