<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/mgmt/glusterd/src/glusterd-store.c, branch v3.7.20</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>glusterd: copy real_path from older brickinfo during brick import</title>
<updated>2016-05-20T09:33:20+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-05-11T12:54:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=93b72a135a7793b5b71c0eb6498c5fe529827ca6'/>
<id>93b72a135a7793b5b71c0eb6498c5fe529827ca6</id>
<content type='text'>
Backport of http://review.gluster.org/14306

In glusterd_import_new_brick () new_brickinfo-&gt;real_path will not be populated
for the first time and hence if the underlying file system is bad for the same
brick, import will fail resulting in inconsistent configuration data.

Fix is to populate real_path from old brickinfo object.

Also there were many cases where we were unnecessarily calling realpath() and
that may cause in failure. For eg - if a remove brick is executed with a brick
whoose underlying file system has crashed, remove-brick fails since realpath()
call fails. We'd need to call realpath() here as the value is of no use.Hence
passing construct_realpath as _gf_false in glusterd_volume_brickinfo_get_by_brick ()
is a must in such cases.

Change-Id: I7ec93871dc9e616f5d565ad5e540b2f1cacaf9dc
BUG: 1337113
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14306
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14410
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/14306

In glusterd_import_new_brick () new_brickinfo-&gt;real_path will not be populated
for the first time and hence if the underlying file system is bad for the same
brick, import will fail resulting in inconsistent configuration data.

Fix is to populate real_path from old brickinfo object.

Also there were many cases where we were unnecessarily calling realpath() and
that may cause in failure. For eg - if a remove brick is executed with a brick
whoose underlying file system has crashed, remove-brick fails since realpath()
call fails. We'd need to call realpath() here as the value is of no use.Hence
passing construct_realpath as _gf_false in glusterd_volume_brickinfo_get_by_brick ()
is a must in such cases.

Change-Id: I7ec93871dc9e616f5d565ad5e540b2f1cacaf9dc
BUG: 1337113
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14306
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14410
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: persist brickinfo-&gt;real_path</title>
<updated>2016-05-02T11:40:53+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-04-26T09:57:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=45f6b416be0a8daeca9752910a332201bc17d851'/>
<id>45f6b416be0a8daeca9752910a332201bc17d851</id>
<content type='text'>
Backport of http://review.gluster.org/14075

Since real_path was not persisted and gets constructed at every glusterd
restart, glusterd will fail to come up if one of the brick's underlying file
system is crashed.

Solution is to construct real_path only once and get it persisted.

Change-Id: I97abc30372c1ffbbb2d43b716d7af09172147b47
BUG: 1331934
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14075
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-on: http://review.gluster.org/14124
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/14075

Since real_path was not persisted and gets constructed at every glusterd
restart, glusterd will fail to come up if one of the brick's underlying file
system is crashed.

Solution is to construct real_path only once and get it persisted.

Change-Id: I97abc30372c1ffbbb2d43b716d7af09172147b47
BUG: 1331934
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14075
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-on: http://review.gluster.org/14124
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: populate brickinfo-&gt;real_path conditionally</title>
<updated>2016-04-18T13:57:04+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-04-11T10:37:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0a92f05021ac7e24a16b09ef326461e6deeb5fc8'/>
<id>0a92f05021ac7e24a16b09ef326461e6deeb5fc8</id>
<content type='text'>
Backport of http://review.gluster.org/13965

glusterd_brickinfo_new_from_brick () is called from multiple places and one of
them is glusterd_brick_rpc_notify where its very well possible that an
underlying brick's file system has crashed and a disconnect event has been
received. In this case glusterd tries to build the brickinfo from the brickid in
the RPC request, however the same fails as glusterd_brickinfo_new_from_brick ()
fails from realpath.

Fix is to skip populating real_path if its a disconnect event.

Change-Id: I9d9149c64a9cf2247abb731f219c1b1eef037960
BUG: 1326174
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13965
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13973
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/13965

glusterd_brickinfo_new_from_brick () is called from multiple places and one of
them is glusterd_brick_rpc_notify where its very well possible that an
underlying brick's file system has crashed and a disconnect event has been
received. In this case glusterd tries to build the brickinfo from the brickid in
the RPC request, however the same fails as glusterd_brickinfo_new_from_brick ()
fails from realpath.

Fix is to skip populating real_path if its a disconnect event.

Change-Id: I9d9149c64a9cf2247abb731f219c1b1eef037960
BUG: 1326174
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13965
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13973
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: build realpath post recreate of brick mount for snapshot</title>
<updated>2016-04-06T04:02:09+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-03-31T09:28:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=6bcae5cc8081697eca0ac72631e31327e1a786a9'/>
<id>6bcae5cc8081697eca0ac72631e31327e1a786a9</id>
<content type='text'>
Backport of http://review.gluster.org/#/c/13869

Commit a60c39d introduced a new field called real_path in brickinfo to hold the
realpath() conversion. However at restore path for all snapshots and snapshot
restored volumes the brickpath gets recreated post restoration of bricks  which
means the realpath () call will fail here for all the snapshots and cloned
volumes.

Fix is to store the realpath for snapshots and clones post recreating the brick
mounts. For normal volume it would be done during retrieving the brick details
from the store.

Change-Id: Ia34853acddb28bcb7f0f70ca85fabcf73276ef13
BUG: 1324014
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13869
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Rajesh Joseph &lt;rjoseph@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-on: http://review.gluster.org/13905
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/#/c/13869

Commit a60c39d introduced a new field called real_path in brickinfo to hold the
realpath() conversion. However at restore path for all snapshots and snapshot
restored volumes the brickpath gets recreated post restoration of bricks  which
means the realpath () call will fail here for all the snapshots and cloned
volumes.

Fix is to store the realpath for snapshots and clones post recreating the brick
mounts. For normal volume it would be done during retrieving the brick details
from the store.

Change-Id: Ia34853acddb28bcb7f0f70ca85fabcf73276ef13
BUG: 1324014
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13869
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Rajesh Joseph &lt;rjoseph@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-on: http://review.gluster.org/13905
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: pass buffer size to gf_store_read_and_tokenize function</title>
<updated>2016-03-23T20:41:28+00:00</updated>
<author>
<name>Gaurav Kumar Garg</name>
<email>garg.gaurav52@gmail.com</email>
</author>
<published>2015-10-13T09:10:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=12861b75dcc2319067cabc903e688b4ceb4763fe'/>
<id>12861b75dcc2319067cabc903e688b4ceb4763fe</id>
<content type='text'>
This patch is backport of: http://review.gluster.org/#/c/12346/

Previously if user set an option where length of key=value goes beyond
PATH_MAX (4096) character then tokenzing the option at the time of
reading configuration file will fail.
This is because of the we was having restraction in fgets to read maximum
of PATH_MAX (4096) length of character.
Consequence of this is when user try to restart glusterd, after setting
key=value length beyond PATH_MAX (4096) character, glusterd will not restart.

With this fix instead of PATH_MAX, consumer of gf_store_read_and_tokenize
function will decide the size of the buffer length.

Cherry picked from commit 816ca94f5dd49f34f395caf501de3c71f0ba113d:
  &gt;&gt; Change-Id: I655a8ce982effdfff8f3e785ea31f543dbe39301
  &gt;&gt; BUG: 1271150
  &gt;&gt; Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
  &gt;&gt; Reviewed-on: http://review.gluster.org/12346
  &gt;&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
  &gt;&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
  &gt;&gt; Reviewed-by: Anand Nekkunti &lt;anekkunt@redhat.com&gt;
  &gt;&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I5b76e81a4ad31a286fb4298ba27f3230fba99ab4
BUG: 1319649
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13795
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is backport of: http://review.gluster.org/#/c/12346/

Previously if user set an option where length of key=value goes beyond
PATH_MAX (4096) character then tokenzing the option at the time of
reading configuration file will fail.
This is because of the we was having restraction in fgets to read maximum
of PATH_MAX (4096) length of character.
Consequence of this is when user try to restart glusterd, after setting
key=value length beyond PATH_MAX (4096) character, glusterd will not restart.

With this fix instead of PATH_MAX, consumer of gf_store_read_and_tokenize
function will decide the size of the buffer length.

Cherry picked from commit 816ca94f5dd49f34f395caf501de3c71f0ba113d:
  &gt;&gt; Change-Id: I655a8ce982effdfff8f3e785ea31f543dbe39301
  &gt;&gt; BUG: 1271150
  &gt;&gt; Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
  &gt;&gt; Reviewed-on: http://review.gluster.org/12346
  &gt;&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
  &gt;&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
  &gt;&gt; Reviewed-by: Anand Nekkunti &lt;anekkunt@redhat.com&gt;
  &gt;&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I5b76e81a4ad31a286fb4298ba27f3230fba99ab4
BUG: 1319649
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13795
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: fixing few memory leak in glusterd</title>
<updated>2016-03-10T15:20:04+00:00</updated>
<author>
<name>Gaurav Kumar Garg</name>
<email>garg.gaurav52@gmail.com</email>
</author>
<published>2015-12-09T14:42:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=af7428490253421484e61409ddb77b653c4a5e63'/>
<id>af7428490253421484e61409ddb77b653c4a5e63</id>
<content type='text'>
This patch is backport of: http://review.gluster.org/#/c/12927/

Current glusterd code base having memory leak. This is because of
memory allocate by dict_allocate_and_serialize function in
"gd_syncop_mgmt_v3_lock" and "gd_syncop_mgmt_v3_unlock"
function is not freeing up memory upon exit.

Fix is to free the memory after exit of the above function.

Thanks Carlos and Roman for finding out the issue and fix.

 &gt;&gt; Change-Id: Id67aa794c84969830ca7ea8c2374f80c64d7a639
 &gt;&gt; BUG: 1287517
 &gt;&gt; Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
 &gt;&gt; Signed-off-by: Carlos Chinea &lt;carlos.chinea@nokia.com&gt;
 &gt;&gt; Signed-off-by: Roman Tereshonkov &lt;roman.tereshonkov@nokia.com&gt;
 &gt;&gt; Reviewed-on: http://review.gluster.org/12927
 &gt;&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
 &gt;&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;&gt; Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;

Change-Id: Id67aa794c84969830ca7ea8c2374f80c64d7a639
BUG: 1311377
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
(cherry picked from commit e38bf1bdeda3c7a89be3193ad62a72b9139358dd)
Reviewed-on: http://review.gluster.org/13503
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is backport of: http://review.gluster.org/#/c/12927/

Current glusterd code base having memory leak. This is because of
memory allocate by dict_allocate_and_serialize function in
"gd_syncop_mgmt_v3_lock" and "gd_syncop_mgmt_v3_unlock"
function is not freeing up memory upon exit.

Fix is to free the memory after exit of the above function.

Thanks Carlos and Roman for finding out the issue and fix.

 &gt;&gt; Change-Id: Id67aa794c84969830ca7ea8c2374f80c64d7a639
 &gt;&gt; BUG: 1287517
 &gt;&gt; Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
 &gt;&gt; Signed-off-by: Carlos Chinea &lt;carlos.chinea@nokia.com&gt;
 &gt;&gt; Signed-off-by: Roman Tereshonkov &lt;roman.tereshonkov@nokia.com&gt;
 &gt;&gt; Reviewed-on: http://review.gluster.org/12927
 &gt;&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
 &gt;&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;&gt; Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;

Change-Id: Id67aa794c84969830ca7ea8c2374f80c64d7a639
BUG: 1311377
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
(cherry picked from commit e38bf1bdeda3c7a89be3193ad62a72b9139358dd)
Reviewed-on: http://review.gluster.org/13503
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Avoid ret value of glusterd_resolve_brick in retreive brick path</title>
<updated>2016-03-04T04:15:10+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-03-03T06:54:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=81fae33cb7ce70f885ce52fa0cc71b3435333a53'/>
<id>81fae33cb7ce70f885ce52fa0cc71b3435333a53</id>
<content type='text'>
Backport of http://review.gluster.org/13588

In glusterd_store_retrieve_bricks() commit a60c39d introduced
glusterd_resolve_brick () call to resolve all the bricks which is incorrect
since by the time peerinfo list may not be constructed. The requirement here was
to get the local brick's uuid populated and match that with MY_UUID.

Fix is to overlook the return code of glusterd_resolve_brick() to ensure that
the failure in resolving non local bricks are genuine and expected.

Change-Id: I22822ae5b4e96fe4eacd50ea5c41e58061557106
BUG: 1314164
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13589
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/13588

In glusterd_store_retrieve_bricks() commit a60c39d introduced
glusterd_resolve_brick () call to resolve all the bricks which is incorrect
since by the time peerinfo list may not be constructed. The requirement here was
to get the local brick's uuid populated and match that with MY_UUID.

Fix is to overlook the return code of glusterd_resolve_brick() to ensure that
the failure in resolving non local bricks are genuine and expected.

Change-Id: I22822ae5b4e96fe4eacd50ea5c41e58061557106
BUG: 1314164
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13589
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: use string comparison for realpath checks in glusterd_is_brickpath_available</title>
<updated>2016-03-03T04:15:59+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-01-19T05:15:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=cdc96d5d4c6247d9b0ca942eeb37338dacfe93ee'/>
<id>cdc96d5d4c6247d9b0ca942eeb37338dacfe93ee</id>
<content type='text'>
Backport of http://review.gluster.org/13258

glusterd_is_brickpath_available () used to call realpath() for checking the
whether the new brick path matches with the existing ones. The problem with this
is if the underlying file system is bad for any one of the existing bricks then
realpath() would fail and we wouldn't allow to create the new brick even if it
should be allowed.

Fix is to use string comparison with having a new field real_path in brickinfo
to store the absolute path

Change-Id: I1250ea5345f00fca0f6128056ebd08750d604f0a
BUG: 1312878
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13258
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13550
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/13258

glusterd_is_brickpath_available () used to call realpath() for checking the
whether the new brick path matches with the existing ones. The problem with this
is if the underlying file system is bad for any one of the existing bricks then
realpath() would fail and we wouldn't allow to create the new brick even if it
should be allowed.

Fix is to use string comparison with having a new field real_path in brickinfo
to store the absolute path

Change-Id: I1250ea5345f00fca0f6128056ebd08750d604f0a
BUG: 1312878
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13258
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13550
</pre>
</div>
</content>
</entry>
<entry>
<title>all: reduce "inline" usage</title>
<updated>2016-01-18T09:02:34+00:00</updated>
<author>
<name>Kaleb S KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2015-11-18T17:28:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=50ae3e67e4f294925fc840d3f83b77f7072af54d'/>
<id>50ae3e67e4f294925fc840d3f83b77f7072af54d</id>
<content type='text'>
There are three kinds of inline functions: plain inline, extern inline,
and static inline.  All three have been removed from .c files, except
those in "contrib" which aren't our problem.  Inlines in .h files, which
are overwhelmingly "static inline" already, have generally been left
alone.  Over time we should be able to "lower" these into .c files, but
that has to be done in a case-by-case fashion requiring more manual
effort.  This part was easy to do automatically without (as far as I can
tell) any ill effect.

In the process, several pieces of dead code were flagged by the
compiler, and were removed.

backport of Change-Id: I56a5e614735c9e0a6ee420dab949eac22e25c155,
http://review.gluster.org/11769, BUG: 1245331

Change-Id: Iba1efb0bc578ea4a5e9bf76b7bd93dc1be9eba44
BUG: 1283302
Signed-off-by: Kaleb S KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12646
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are three kinds of inline functions: plain inline, extern inline,
and static inline.  All three have been removed from .c files, except
those in "contrib" which aren't our problem.  Inlines in .h files, which
are overwhelmingly "static inline" already, have generally been left
alone.  Over time we should be able to "lower" these into .c files, but
that has to be done in a case-by-case fashion requiring more manual
effort.  This part was easy to do automatically without (as far as I can
tell) any ill effect.

In the process, several pieces of dead code were flagged by the
compiler, and were removed.

backport of Change-Id: I56a5e614735c9e0a6ee420dab949eac22e25c155,
http://review.gluster.org/11769, BUG: 1245331

Change-Id: Iba1efb0bc578ea4a5e9bf76b7bd93dc1be9eba44
BUG: 1283302
Signed-off-by: Kaleb S KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12646
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>quota: fix backward compatibility of new quota volinfo option</title>
<updated>2015-12-22T09:30:25+00:00</updated>
<author>
<name>vmallika</name>
<email>vmallika@redhat.com</email>
</author>
<published>2015-12-09T07:43:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=72176d439780afdb8b67de86182dd7444f1fb7d5'/>
<id>72176d439780afdb8b67de86182dd7444f1fb7d5</id>
<content type='text'>
This is a backport of http://review.gluster.org/#/c/12642/

quota-version features is implemented for 3.7.6
please see below patch for more details:
http://review.gluster.org/#/c/12386

As part of this feature, new volume info option 'quota-version'
was introduced, this can cause check-sum problem
when a one of the node in a cluster is upgraded to 3.7.6
(heterogeneous cluster)

So do a OP_VERSION check when storing this option
in volume info

&gt; Change-Id: Ic5b03a1e3f1236b645a065b1fadee7950307e191
&gt; BUG: 1283178
&gt; Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;

Change-Id: I878202dcf5b44dcbbeff0d5b798649363a96e422
BUG: 1283187
Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12643
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a backport of http://review.gluster.org/#/c/12642/

quota-version features is implemented for 3.7.6
please see below patch for more details:
http://review.gluster.org/#/c/12386

As part of this feature, new volume info option 'quota-version'
was introduced, this can cause check-sum problem
when a one of the node in a cluster is upgraded to 3.7.6
(heterogeneous cluster)

So do a OP_VERSION check when storing this option
in volume info

&gt; Change-Id: Ic5b03a1e3f1236b645a065b1fadee7950307e191
&gt; BUG: 1283178
&gt; Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;

Change-Id: I878202dcf5b44dcbbeff0d5b798649363a96e422
BUG: 1283187
Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12643
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
