<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/rpc, branch v3.4.0beta4</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>rpc: Cleanup rpc object in TRANSPORT_CLEANUP event</title>
<updated>2013-06-19T04:53:08+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2013-05-28T08:53:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=b3f480a8e451ff1b11761c4cfca6b798c35bfb04'/>
<id>b3f480a8e451ff1b11761c4cfca6b798c35bfb04</id>
<content type='text'>
        Backport of http://review.gluster.org/5107 (upstream)

This is to ensure that unref of rpc_clnt object doesn't race with the
unref of the corresponding rpc_transport object.

rpc_transport has ref_count 2, in normal scheme of things. One held by
the socket layer and the other held by rpc layer. This inequality in
ref_count between rpc_clnt and rpc_transport could lead to concurrent
destruction of the objects and possibly lead to a crash.  To avoid this,
we defer the clean up of rpc_clnt obj to TRANSPORT_CLEANUP event. ie,
once rpc_transport's ref_count goes to zero.

Introduced rpc_clnt_disabled, to allow higher layers to differentiate
between the 'final'[1] disconnect, triggered from upper layers, and disconnect
seen as a consequence of transport disconnect. This differentiation
helps in cleaning up resources, at higher layers, in a race-free manner.

[1] - 'final' here means that the rpc and the associated connection, is not
to be used anymore. eg - glusterd_brick_disconnect on volume-stop.

Change-Id: I2ecf891a36e3b02cd9eacca964e659525d1bbc6e
BUG: 962619
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5213
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
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/5107 (upstream)

This is to ensure that unref of rpc_clnt object doesn't race with the
unref of the corresponding rpc_transport object.

rpc_transport has ref_count 2, in normal scheme of things. One held by
the socket layer and the other held by rpc layer. This inequality in
ref_count between rpc_clnt and rpc_transport could lead to concurrent
destruction of the objects and possibly lead to a crash.  To avoid this,
we defer the clean up of rpc_clnt obj to TRANSPORT_CLEANUP event. ie,
once rpc_transport's ref_count goes to zero.

Introduced rpc_clnt_disabled, to allow higher layers to differentiate
between the 'final'[1] disconnect, triggered from upper layers, and disconnect
seen as a consequence of transport disconnect. This differentiation
helps in cleaning up resources, at higher layers, in a race-free manner.

[1] - 'final' here means that the rpc and the associated connection, is not
to be used anymore. eg - glusterd_brick_disconnect on volume-stop.

Change-Id: I2ecf891a36e3b02cd9eacca964e659525d1bbc6e
BUG: 962619
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5213
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Add a cmd for getting uuid of local node</title>
<updated>2013-06-19T03:28:22+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2013-06-06T05:16:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=7f52e08e1b09315bd4c167187b60859516d41897'/>
<id>7f52e08e1b09315bd4c167187b60859516d41897</id>
<content type='text'>
        Backport of http://review.gluster.org/5175 (upstream)
Usage: gluster system:: uuid get

This is needed since we generate uuid of a node in a lazy manner. ie, we
generate a uuid for the node only on the first volume or peer operation,
when the node needs an external identity.  With this command, we can
force[1] the uuid generation, without a volume or peer operation performed.

[1]: Querying for uuid (or uuid get), forces uuid to come into
existence.

Change-Id: I62c8b6754117756aa4d773dd48af4ddeb1a1d878
BUG: 971661
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5204
Reviewed-by: Jeff Darcy &lt;jdarcy@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/5175 (upstream)
Usage: gluster system:: uuid get

This is needed since we generate uuid of a node in a lazy manner. ie, we
generate a uuid for the node only on the first volume or peer operation,
when the node needs an external identity.  With this command, we can
force[1] the uuid generation, without a volume or peer operation performed.

[1]: Querying for uuid (or uuid get), forces uuid to come into
existence.

Change-Id: I62c8b6754117756aa4d773dd48af4ddeb1a1d878
BUG: 971661
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5204
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>socket: convert socket functions to file scope (static)</title>
<updated>2013-06-08T21:53:07+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-05-29T10:12:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c8611f9a1d5e486333383ba1531757bf8fd49458'/>
<id>c8611f9a1d5e486333383ba1531757bf8fd49458</id>
<content type='text'>
The function names used in socket.c conflict with Samba's
socket functions (samba.git/source4/lib/socket/socket.h). Convert
our functions to file scope as they are anyways not called across
files.

Change-Id: If98ae557d3e2868f257c021b283ede6a5e92de02
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5168
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function names used in socket.c conflict with Samba's
socket functions (samba.git/source4/lib/socket/socket.h). Convert
our functions to file scope as they are anyways not called across
files.

Change-Id: If98ae557d3e2868f257c021b283ede6a5e92de02
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5168
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc-transport/rdma: reap async events in a dedicated thread.</title>
<updated>2013-05-27T18:01:15+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2013-01-07T05:35:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e617990a87dbfa78bb625e490d6eac8e967419fd'/>
<id>e617990a87dbfa78bb625e490d6eac8e967419fd</id>
<content type='text'>
* Also sets srq_limit of srq to 10, so that we'll receive an event
  when we are about to empty the receive buffer list.

BUG: 765051
Change-Id: I5436166ea21fc963ee15088fc2df743ec4b96ba7
Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/4378
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5097
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Also sets srq_limit of srq to 10, so that we'll receive an event
  when we are about to empty the receive buffer list.

BUG: 765051
Change-Id: I5436166ea21fc963ee15088fc2df743ec4b96ba7
Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/4378
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5097
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc-transport/rdma: use rdma-cm for connection establishment.</title>
<updated>2013-05-27T18:00:59+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2012-12-18T07:17:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=536f6ac4f12ffa59bf0412d93538d80eb3bdd02a'/>
<id>536f6ac4f12ffa59bf0412d93538d80eb3bdd02a</id>
<content type='text'>
Till now gluster used tcp/ip based communication channel with
gluster specific protocol to exchange infiniband addresses.

Change-Id: I9de4db398a0e2af51d3d2d68c2fe42168102b190
BUG: 765051
Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/149
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5096
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Till now gluster used tcp/ip based communication channel with
gluster specific protocol to exchange infiniband addresses.

Change-Id: I9de4db398a0e2af51d3d2d68c2fe42168102b190
BUG: 765051
Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/149
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5096
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc: change dict key for fqdn</title>
<updated>2013-05-23T16:54:31+00:00</updated>
<author>
<name>Rajesh Amaravathi</name>
<email>rajesh@redhat.com</email>
</author>
<published>2013-02-18T10:21:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=ec540a0b5df87e526f77c625af7ce5f21365fb4c'/>
<id>ec540a0b5df87e526f77c625af7ce5f21365fb4c</id>
<content type='text'>
changed the key from "client.fqdn", which could be wrongly
construed as belonging to protocol/client, to "fqdn".

This is a backport of 8403f9a2d976c33e01fbd9e4a4b04e8f1e936806.

Change-Id: Ib5f4a875a00b99cd903a29da19bafeb70baaab4e
BUG: 950056
Signed-off-by: Rajesh Amaravathi &lt;rajesh@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4536
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Signed-off-by: Rajesh Amaravathi &lt;rajesh@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4965
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
changed the key from "client.fqdn", which could be wrongly
construed as belonging to protocol/client, to "fqdn".

This is a backport of 8403f9a2d976c33e01fbd9e4a4b04e8f1e936806.

Change-Id: Ib5f4a875a00b99cd903a29da19bafeb70baaab4e
BUG: 950056
Signed-off-by: Rajesh Amaravathi &lt;rajesh@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4536
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Signed-off-by: Rajesh Amaravathi &lt;rajesh@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4965
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpcsvc: fix dangerous setting of pointer on free'd structure.</title>
<updated>2013-05-21T06:08:12+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vbellur@redhat.com</email>
</author>
<published>2013-05-13T12:27:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=63b2b09f8f40ba265d3487082d5b0aaef7a491a2'/>
<id>63b2b09f8f40ba265d3487082d5b0aaef7a491a2</id>
<content type='text'>
Change-Id: I6b666115a8ce155563078d7fc476d41486bab54f
BUG: 884452
Signed-off-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4995
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@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>
Change-Id: I6b666115a8ce155563078d7fc476d41486bab54f
BUG: 884452
Signed-off-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4995
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Refresh glusterd-syncop fixes from master</title>
<updated>2013-05-17T03:44:44+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2013-05-02T10:43:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8505eadb3032132a1b936951687ac643731c29ec'/>
<id>8505eadb3032132a1b936951687ac643731c29ec</id>
<content type='text'>
Following commits were cherry-picked from master,
044f8ce syncop: Remove task from synclock's waitq before 'wake'
cb6aeed glusterd: Give up big lock before performing any RPC
46572fe Revert "glusterd: Fix spurious wakeups in glusterd syncops"
5021e04 synctask: implement barriers around yield, not the other way
4843937 glusterd: Syncop callbks should take big lock too

Change-Id: I5ae71ab98f9a336dc9bbf0e7b2ec50a6ed42b0f5
BUG: 948686
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4938
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5021
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following commits were cherry-picked from master,
044f8ce syncop: Remove task from synclock's waitq before 'wake'
cb6aeed glusterd: Give up big lock before performing any RPC
46572fe Revert "glusterd: Fix spurious wakeups in glusterd syncops"
5021e04 synctask: implement barriers around yield, not the other way
4843937 glusterd: Syncop callbks should take big lock too

Change-Id: I5ae71ab98f9a336dc9bbf0e7b2ec50a6ed42b0f5
BUG: 948686
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4938
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5021
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix spurious brick disconnects</title>
<updated>2013-05-01T03:12:52+00:00</updated>
<author>
<name>Emmanuel Dreyfus</name>
<email>manu@netbsd.org</email>
</author>
<published>2013-04-30T00:41:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=bae32a5affd514e5a78ba3af6cc644cd5cd6814a'/>
<id>bae32a5affd514e5a78ba3af6cc644cd5cd6814a</id>
<content type='text'>
Spurious disconnect were caused by a race condition inside
rpc_transport_ref()/rpc_transport_unref() that allowed the refcount
to drop to zero while the transport was still in use. The race
condition is made possible because of an uninitiaized mutex
produced when socket_server_event_handler() copies the transport

This is a backport of I34fe097a0ac21b0dbf58f5eed84880e3fd9814f2

BUG: 764655
Change-Id: Ib6a7c736f28ccc67d05be45629cddc18a642c11f
Signed-off-by: Emmanuel Dreyfus &lt;manu@netbsd.org&gt;
Reviewed-on: http://review.gluster.org/4908
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Spurious disconnect were caused by a race condition inside
rpc_transport_ref()/rpc_transport_unref() that allowed the refcount
to drop to zero while the transport was still in use. The race
condition is made possible because of an uninitiaized mutex
produced when socket_server_event_handler() copies the transport

This is a backport of I34fe097a0ac21b0dbf58f5eed84880e3fd9814f2

BUG: 764655
Change-Id: Ib6a7c736f28ccc67d05be45629cddc18a642c11f
Signed-off-by: Emmanuel Dreyfus &lt;manu@netbsd.org&gt;
Reviewed-on: http://review.gluster.org/4908
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Fixed spurious wakeups in glusterd syncops</title>
<updated>2013-04-17T12:46:43+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2013-04-10T11:42:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=47c118e22d9d6fb6662fe96841ed4fe3089739b5'/>
<id>47c118e22d9d6fb6662fe96841ed4fe3089739b5</id>
<content type='text'>
glusterd syncops perform a barrier_wake whenever rpc_clnt_submit returned -1.
This is based on the wrong assumption that the cbkfn wasn't called.
This would result in one more wakeup than there ought to be.

BUG: 948686
Change-Id: I839fd218a81255fe50c2047d67461d45360e894d
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4834
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
glusterd syncops perform a barrier_wake whenever rpc_clnt_submit returned -1.
This is based on the wrong assumption that the cbkfn wasn't called.
This would result in one more wakeup than there ought to be.

BUG: 948686
Change-Id: I839fd218a81255fe50c2047d67461d45360e894d
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4834
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
