<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/tests, branch v3.7.4</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>features/shard: Fix unlink failure due to non-existent shard(s)</title>
<updated>2015-08-31T15:09:47+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2015-08-31T07:13:36+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=300a69669aa6e9ebb16e5fc8326ac57c3e2d8937'/>
<id>300a69669aa6e9ebb16e5fc8326ac57c3e2d8937</id>
<content type='text'>
        Backport of: http://review.gluster.org/#/c/12059/

Unlink of a sharded file with holes was leading to EINVAL errors
because it was being wound on non-existent shards (those blocks that
fall in the hole region). loc-&gt;inode was NULL in these cases and
dht_unlink used to fail the FOP with EINVAL for failure to fetch
cached subvol for the inode.

The fix involves winding unlink on only those shards whose corresponding
inodes exist in memory.

Change-Id: I1e5d492a2e60491601da23f64a5d0089e536b305
BUG: 1258353
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12061
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: 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/#/c/12059/

Unlink of a sharded file with holes was leading to EINVAL errors
because it was being wound on non-existent shards (those blocks that
fall in the hole region). loc-&gt;inode was NULL in these cases and
dht_unlink used to fail the FOP with EINVAL for failure to fetch
cached subvol for the inode.

The fix involves winding unlink on only those shards whose corresponding
inodes exist in memory.

Change-Id: I1e5d492a2e60491601da23f64a5d0089e536b305
BUG: 1258353
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12061
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>afr: modify afr_txn_nothing_failed()</title>
<updated>2015-08-31T15:03:09+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2015-08-04T13:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=7924eb1a11fe0b1443903a69b7e93e4767061064'/>
<id>7924eb1a11fe0b1443903a69b7e93e4767061064</id>
<content type='text'>
Backport of http://review.gluster.org/#/c/11827/

In an AFR transaction, we need to consider something as failed only if the
failure (either in the pre-op or the FOP phase) occurs on the bricks on which a
transaction lock was obtained.

Without this, we would end up considering the transaction as failure even on the
bricks on which the lock was not obtained, resulting in unnecessary fsyncs
during the post-op phase of every write transaction for non-appending writes.

Change-Id: Iee79e5d85dc7b4c41459d8bdd04a8454bdaf9a9d
BUG: 1255698
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11985
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/#/c/11827/

In an AFR transaction, we need to consider something as failed only if the
failure (either in the pre-op or the FOP phase) occurs on the bricks on which a
transaction lock was obtained.

Without this, we would end up considering the transaction as failure even on the
bricks on which the lock was not obtained, resulting in unnecessary fsyncs
during the post-op phase of every write transaction for non-appending writes.

Change-Id: Iee79e5d85dc7b4c41459d8bdd04a8454bdaf9a9d
BUG: 1255698
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11985
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/shard: Fix permission issues</title>
<updated>2015-08-31T09:31:10+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2015-08-19T11:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=f0afc2e7c7bee3043ac1e7d098bc44db60186856'/>
<id>f0afc2e7c7bee3043ac1e7d098bc44db60186856</id>
<content type='text'>
        Backport of: http://review.gluster.org/11992

This patch does the following:
* reverts commit b467af0e99b39ef708420d3f7f6696b0ca618512
* changes ownership on shards under /.shard to be root:root
* makes readv, writev, [f]truncate, rename, and unlink fops
  to perform operations on files under /.shard with
  frame-&gt;root-&gt;{uid,gid} as 0.

This would ensure that a [f]setattr on a sharded file
does not need to be called on all the shards associated with it.

Change-Id: I50d8533bd2b769a4dfe8cd1b49bdcfc117a7e660
BUG: 1253151
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12052
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        Backport of: http://review.gluster.org/11992

This patch does the following:
* reverts commit b467af0e99b39ef708420d3f7f6696b0ca618512
* changes ownership on shards under /.shard to be root:root
* makes readv, writev, [f]truncate, rename, and unlink fops
  to perform operations on files under /.shard with
  frame-&gt;root-&gt;{uid,gid} as 0.

This would ensure that a [f]setattr on a sharded file
does not need to be called on all the shards associated with it.

Change-Id: I50d8533bd2b769a4dfe8cd1b49bdcfc117a7e660
BUG: 1253151
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12052
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/shard: Fix size update for writes at hole region</title>
<updated>2015-08-30T06:51:50+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2015-08-26T03:57:42+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=bbd4624980a037c07fc134eee252840fed82dcf1'/>
<id>bbd4624980a037c07fc134eee252840fed82dcf1</id>
<content type='text'>
        Backport of: http://review.gluster.org/#/c/12020

Change-Id: I4b6e9101ccb881d3d285704902484e1e89ccaceb
BUG: 1257204
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12026
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: 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/#/c/12020

Change-Id: I4b6e9101ccb881d3d285704902484e1e89ccaceb
BUG: 1257204
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12026
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ec : trusted.ec.version xattr of all root directories of all bricks should be same.</title>
<updated>2015-08-30T05:54:44+00:00</updated>
<author>
<name>Ashish Pandey</name>
<email>aspandey@redhat.com</email>
</author>
<published>2015-07-15T11:07:37+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=848788e37929f5c636af5c454545fc62f58122c5'/>
<id>848788e37929f5c636af5c454545fc62f58122c5</id>
<content type='text'>
Problem:
After replacing the brick using "replace-brick" command and running "heal
full", the version of the root directory of the newly added brick is not
getting healed. heal starts running on the dentries of the root but does not
run on root directory.

Solution:
Run heal on root directory.

&gt; Change-Id: Ifd42a3fb341b049c895817e892e5b484a5aa6f80
&gt; BUG: 1243382
&gt; Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11676
&gt; Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;

Change-Id: Ifd42a3fb341b049c895817e892e5b484a5aa6f80
BUG: 1243384
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11755
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
After replacing the brick using "replace-brick" command and running "heal
full", the version of the root directory of the newly added brick is not
getting healed. heal starts running on the dentries of the root but does not
run on root directory.

Solution:
Run heal on root directory.

&gt; Change-Id: Ifd42a3fb341b049c895817e892e5b484a5aa6f80
&gt; BUG: 1243382
&gt; Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11676
&gt; Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;

Change-Id: Ifd42a3fb341b049c895817e892e5b484a5aa6f80
BUG: 1243384
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11755
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Don't allow remove brick start/commit if glusterd is down of the host of the brick</title>
<updated>2015-08-28T09:02:29+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2015-07-21T04:27:43+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=f51ffaeda4c87b682b7865c26befd75fe1c8cb25'/>
<id>f51ffaeda4c87b682b7865c26befd75fe1c8cb25</id>
<content type='text'>
Backport of http://review.gluster.org/#/c/11726/

remove brick stage blindly starts the remove brick operation even if the
glusterd instance of the node hosting the brick is down. Operationally its
incorrect and this could result into a inconsistent rebalance status across all
the nodes as the originator of this command will always have the rebalance
status to 'DEFRAG_NOT_STARTED', however when the glusterd instance on the other
nodes comes up, will trigger rebalance and make the status to completed once the
rebalance is finished.

This patch fixes two things:
1. Add a validation in remove brick to check whether all the peers hosting the
bricks to be removed are up.

2. Don't copy volinfo-&gt;rebal.dict from stale volinfo during restore as this
might end up in a incosistent node_state.info file resulting into volume status
command failure.

Change-Id: Ia4a76865c05037d49eec5e3bbfaf68c1567f1f81
BUG: 1256265
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11726
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: N Balachandran &lt;nbalacha@redhat.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11996
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/#/c/11726/

remove brick stage blindly starts the remove brick operation even if the
glusterd instance of the node hosting the brick is down. Operationally its
incorrect and this could result into a inconsistent rebalance status across all
the nodes as the originator of this command will always have the rebalance
status to 'DEFRAG_NOT_STARTED', however when the glusterd instance on the other
nodes comes up, will trigger rebalance and make the status to completed once the
rebalance is finished.

This patch fixes two things:
1. Add a validation in remove brick to check whether all the peers hosting the
bricks to be removed are up.

2. Don't copy volinfo-&gt;rebal.dict from stale volinfo during restore as this
might end up in a incosistent node_state.info file resulting into volume status
command failure.

Change-Id: Ia4a76865c05037d49eec5e3bbfaf68c1567f1f81
BUG: 1256265
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11726
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: N Balachandran &lt;nbalacha@redhat.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11996
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr : Examine data/metadata readable for read-subvol</title>
<updated>2015-08-28T07:13:16+00:00</updated>
<author>
<name>Anuradha Talur</name>
<email>atalur@redhat.com</email>
</author>
<published>2015-08-03T11:39:13+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=12649804d0c830bc17b685b904825e03b0e968cd'/>
<id>12649804d0c830bc17b685b904825e03b0e968cd</id>
<content type='text'>
During lookup and discover, currently read_subvol is based
only on data_readable. read_subvol should be decided based
on both data_readable and metadata_readable.

Credits to Ravishankar N for the logic of afr_first_up_child
from http://review.gluster.org/10905/ .

&gt; Change-Id: I98580b23c278172ee2902be08eeaafb6722e830c
&gt; BUG: 1240244
&gt; Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11551
&gt; Reviewed-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
&gt; Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
&gt; (cherry picked from commit 36349fa250ace6109002dfa41305d9dcd54ce0a9)

Change-Id: Ia068ef9deb97f7bc48ea0c56d5ab6851f8860118
BUG: 1256909
Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12011
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During lookup and discover, currently read_subvol is based
only on data_readable. read_subvol should be decided based
on both data_readable and metadata_readable.

Credits to Ravishankar N for the logic of afr_first_up_child
from http://review.gluster.org/10905/ .

&gt; Change-Id: I98580b23c278172ee2902be08eeaafb6722e830c
&gt; BUG: 1240244
&gt; Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11551
&gt; Reviewed-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
&gt; Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
&gt; (cherry picked from commit 36349fa250ace6109002dfa41305d9dcd54ce0a9)

Change-Id: Ia068ef9deb97f7bc48ea0c56d5ab6851f8860118
BUG: 1256909
Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12011
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: stop all the daemons services on peer detach</title>
<updated>2015-08-26T11:58:03+00:00</updated>
<author>
<name>Gaurav Kumar Garg</name>
<email>garg.gaurav52@gmail.com</email>
</author>
<published>2015-08-21T13:33:03+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=9d71c362b11544494b3fe68477cc47abe3bb2cde'/>
<id>9d71c362b11544494b3fe68477cc47abe3bb2cde</id>
<content type='text'>
Backport of:  http://review.gluster.org/#/c/11509/

Currently glusterd is not stopping all the deamon service on peer detach

With this fix it will do peer detach cleanup properlly and will stop all
the daemon which was running before peer detach on the node.

Change-Id: Ifed403ed09187e84f2a60bf63135156ad1f15775
BUG: 1238706
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11971
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of:  http://review.gluster.org/#/c/11509/

Currently glusterd is not stopping all the deamon service on peer detach

With this fix it will do peer detach cleanup properlly and will stop all
the daemon which was running before peer detach on the node.

Change-Id: Ifed403ed09187e84f2a60bf63135156ad1f15775
BUG: 1238706
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11971
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: remove unwanted tests from volume-snapshot.t</title>
<updated>2015-08-26T08:53:28+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2015-08-21T05:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=27b455dc369f60d36d83c6bcbc10245dfe733f46'/>
<id>27b455dc369f60d36d83c6bcbc10245dfe733f46</id>
<content type='text'>
    Backport of http://review.gluster.org/#/c/11972/

volume-snapshot.t failspuriously because of having additional test cases
which restarts glusterd and they are really not needed as far as the test
coverage is concerned. Currently glusterd doesn't have a mechanism to indicate
that volumes handshaking has been completed or not, due to this even if the peer
handshaking finishes and all the peers are back to the cluster there could be a
case where any command which accesses the volume structure might end up in
corruption as volume handshaking is still in progress. This is because of volume
list is still not been made URCU protected.

Change-Id: Id8669c22584384f988be5e0a5a0deca7708a277d
BUG: 1255636
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11975
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    Backport of http://review.gluster.org/#/c/11972/

volume-snapshot.t failspuriously because of having additional test cases
which restarts glusterd and they are really not needed as far as the test
coverage is concerned. Currently glusterd doesn't have a mechanism to indicate
that volumes handshaking has been completed or not, due to this even if the peer
handshaking finishes and all the peers are back to the cluster there could be a
case where any command which accesses the volume structure might end up in
corruption as volume handshaking is still in progress. This is because of volume
list is still not been made URCU protected.

Change-Id: Id8669c22584384f988be5e0a5a0deca7708a277d
BUG: 1255636
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11975
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libgfapi: adding 'follow' flag to glfs_h_lookupat()</title>
<updated>2015-08-25T12:31:35+00:00</updated>
<author>
<name>Jiffin Tony Thottan</name>
<email>jthottan@redhat.com</email>
</author>
<published>2015-08-11T10:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=130697b8b706432153d9a0fda49b896065289aaa'/>
<id>130697b8b706432153d9a0fda49b896065289aaa</id>
<content type='text'>
This patch is backport of http://review.gluster.org/#/c/11883/

Previously glfs_h_lookupat won't follow the symlink, this patch
introduces new flag `follow` which will resolve the same. Applications
linking against the new library will need to use the new glfs_h_lookupat
API call.

In order to stay compatible with existing binaries that use the previous
glfs_h_lookupat() function, the old symbol needs to stay available.

Verification that there are two versions of glfs_h_lookupat:

  $ objdump -T /usr/lib64/libgfapi.so.0 | grep -w glfs_h_lookupat
  0000000000015070 g    DF .text  000000000000021e  GFAPI_3.7.4 glfs_h_lookupat
  0000000000015290 g    DF .text  0000000000000008 (GFAPI_3.4.2) glfs_h_lookupat

Testing with a binary (based on anonymous_fd_read_write.c from ./tests/)
that was linked against the old library:

  $ objdump -T ./lookupat | grep -w glfs_h_lookupat
  0000000000000000      DF *UND*  0000000000000000  GFAPI_3.4.2 glfs_h_lookupat

Enable debugging for 'ld.so' so that we can check that the GFAPI_3.4.2
version of the symbol gets loaded:

  $ export LD_DEBUG_OUTPUT=lookupat.ld.log LD_DEBUG=all
  $ ./lookupat
  $ grep -w glfs_h_lookupat lookupat.ld.log.2543
  2543:     symbol=glfs_h_lookupat;  lookup in file=./lookupat [0]
  2543:     symbol=glfs_h_lookupat;  lookup in file=/lib64/libgfapi.so.0 [0]
  2543:     binding file ./lookupat [0] to /lib64/libgfapi.so.0 [0]: normal symbol `glfs_h_lookupat' [GFAPI_3.4.2]

This change has been successfully cherry-picked as 1ead86a8bcbfe4045729466e4b98f765f3c13c8d
in master

Upstream reference
&gt;Change-Id: I8bf9b1c19a0585f681bc1a7f84aad1ccd0f75f6a
&gt;BUG: 1252410
&gt;Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
&gt;Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;Reviewed-on: http://review.gluster.org/11883
&gt;Reviewed-by: soumya k &lt;skoduri@redhat.com&gt;
&gt;Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt;Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;

Change-Id: Idbbf0cd6802f86c53b16377d90d08ff6d99e7b08
BUG: 1256616
Reviewed-on: http://review.gluster.org/12009
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.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/11883/

Previously glfs_h_lookupat won't follow the symlink, this patch
introduces new flag `follow` which will resolve the same. Applications
linking against the new library will need to use the new glfs_h_lookupat
API call.

In order to stay compatible with existing binaries that use the previous
glfs_h_lookupat() function, the old symbol needs to stay available.

Verification that there are two versions of glfs_h_lookupat:

  $ objdump -T /usr/lib64/libgfapi.so.0 | grep -w glfs_h_lookupat
  0000000000015070 g    DF .text  000000000000021e  GFAPI_3.7.4 glfs_h_lookupat
  0000000000015290 g    DF .text  0000000000000008 (GFAPI_3.4.2) glfs_h_lookupat

Testing with a binary (based on anonymous_fd_read_write.c from ./tests/)
that was linked against the old library:

  $ objdump -T ./lookupat | grep -w glfs_h_lookupat
  0000000000000000      DF *UND*  0000000000000000  GFAPI_3.4.2 glfs_h_lookupat

Enable debugging for 'ld.so' so that we can check that the GFAPI_3.4.2
version of the symbol gets loaded:

  $ export LD_DEBUG_OUTPUT=lookupat.ld.log LD_DEBUG=all
  $ ./lookupat
  $ grep -w glfs_h_lookupat lookupat.ld.log.2543
  2543:     symbol=glfs_h_lookupat;  lookup in file=./lookupat [0]
  2543:     symbol=glfs_h_lookupat;  lookup in file=/lib64/libgfapi.so.0 [0]
  2543:     binding file ./lookupat [0] to /lib64/libgfapi.so.0 [0]: normal symbol `glfs_h_lookupat' [GFAPI_3.4.2]

This change has been successfully cherry-picked as 1ead86a8bcbfe4045729466e4b98f765f3c13c8d
in master

Upstream reference
&gt;Change-Id: I8bf9b1c19a0585f681bc1a7f84aad1ccd0f75f6a
&gt;BUG: 1252410
&gt;Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
&gt;Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;Reviewed-on: http://review.gluster.org/11883
&gt;Reviewed-by: soumya k &lt;skoduri@redhat.com&gt;
&gt;Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt;Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;

Change-Id: Idbbf0cd6802f86c53b16377d90d08ff6d99e7b08
BUG: 1256616
Reviewed-on: http://review.gluster.org/12009
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
