<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/rpc, branch v3.3.0qa11</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>rpc: No timeouts for lock fops.</title>
<updated>2011-09-23T13:11:32+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kp@gluster.com</email>
</author>
<published>2011-09-21T06:23:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1fdcbb61872b0a849490d1f0de4fdb545e2865aa'/>
<id>1fdcbb61872b0a849490d1f0de4fdb545e2865aa</id>
<content type='text'>
As of today, all fops bail out after 30 mins by default. This is not desirable
with lock fops since it could be 'rightfully blocked' for a really long time.
But the client would assume that the lock fop has 'expired' after 30 mins and
clean up its references to the locks.  Later when the locks xlator decides to
grant it, we are left with an orphan (stale) lock .

This fix exempts lock fops from timeouts. Only on network disruptions both
client and server decide to 'clean up' the locks held.

Change-Id: If1d74ba21113650b976728e9b764c551a0a49e59
BUG: 3617
Reviewed-on: http://review.gluster.com/478
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As of today, all fops bail out after 30 mins by default. This is not desirable
with lock fops since it could be 'rightfully blocked' for a really long time.
But the client would assume that the lock fop has 'expired' after 30 mins and
clean up its references to the locks.  Later when the locks xlator decides to
grant it, we are left with an orphan (stale) lock .

This fix exempts lock fops from timeouts. Only on network disruptions both
client and server decide to 'clean up' the locks held.

Change-Id: If1d74ba21113650b976728e9b764c551a0a49e59
BUG: 3617
Reviewed-on: http://review.gluster.com/478
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Implemented cmd to trigger self-heal on a replicate volume.</title>
<updated>2011-09-22T16:43:25+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kp@gluster.com</email>
</author>
<published>2011-09-16T05:10:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=4765dd1a1c51c67ab86687fbd871c89156680c34'/>
<id>4765dd1a1c51c67ab86687fbd871c89156680c34</id>
<content type='text'>
This cmd is used in the context of proactive self-heal for replicated
volumes. User invokes the following cmd when (s)he suspects that self-heal
needs to be done on a particular volume,
        gluster volume heal &lt;VOLNAME&gt;.

Change-Id: I3954353b53488c28b70406e261808239b44997f3
BUG: 3602
Reviewed-on: http://review.gluster.com/454
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cmd is used in the context of proactive self-heal for replicated
volumes. User invokes the following cmd when (s)he suspects that self-heal
needs to be done on a particular volume,
        gluster volume heal &lt;VOLNAME&gt;.

Change-Id: I3954353b53488c28b70406e261808239b44997f3
BUG: 3602
Reviewed-on: http://review.gluster.com/454
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFS : Posix compliance fixes.</title>
<updated>2011-09-22T11:51:22+00:00</updated>
<author>
<name>Gaurav</name>
<email>gaurav@gluster.com</email>
</author>
<published>2011-09-22T07:18:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2e61c86ba89d546c7cab522b53d6b9c7f164cd8c'/>
<id>2e61c86ba89d546c7cab522b53d6b9c7f164cd8c</id>
<content type='text'>
Change-Id: I4f1d8883a3eedee20557e306815674a6dc062bfe
BUG: 1337
Reviewed-on: http://review.gluster.com/487
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4f1d8883a3eedee20557e306815674a6dc062bfe
BUG: 1337
Reviewed-on: http://review.gluster.com/487
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc:memcpy data of right size to auth params</title>
<updated>2011-09-20T05:00:08+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2011-09-19T16:31:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e0178776546f06646c11bcb1ea345f82436d73aa'/>
<id>e0178776546f06646c11bcb1ea345f82436d73aa</id>
<content type='text'>
Change-Id: I6999e0a1463ee3475f7607990337326b3f008538
BUG: 3587
Reviewed-on: http://review.gluster.com/464
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I6999e0a1463ee3475f7607990337326b3f008538
BUG: 3587
Reviewed-on: http://review.gluster.com/464
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc: Use correct variable for volume-specific insecure ports check</title>
<updated>2011-09-19T05:17:26+00:00</updated>
<author>
<name>krishna</name>
<email>krishna@gluster.com</email>
</author>
<published>2011-09-14T10:43:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=9eec7900639684e5a2fd80b273437fefe6b5b930'/>
<id>9eec7900639684e5a2fd80b273437fefe6b5b930</id>
<content type='text'>
Change-Id: Ica59a3154c4e7d980d3477dd3879c7cebe92ad87
BUG: 3515
Reviewed-on: http://review.gluster.com/418
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ica59a3154c4e7d980d3477dd3879c7cebe92ad87
BUG: 3515
Reviewed-on: http://review.gluster.com/418
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc: fix up mountbroker xdr defs and regenerate headers</title>
<updated>2011-09-16T04:56:12+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@gluster.com</email>
</author>
<published>2011-09-15T16:14:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=77cce4c7df9a61b599a27522696720e747714ff2'/>
<id>77cce4c7df9a61b599a27522696720e747714ff2</id>
<content type='text'>
Change-Id: I8a88d2b9228c3614ee7cbaf48782a419e6aee0f6
BUG: 3482
Reported-by: Krishnan Parthasarathi &lt;kp@gluster.com&gt;
Reviewed-on: http://review.gluster.com/432
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kp@gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I8a88d2b9228c3614ee7cbaf48782a419e6aee0f6
BUG: 3482
Reported-by: Krishnan Parthasarathi &lt;kp@gluster.com&gt;
Reviewed-on: http://review.gluster.com/432
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kp@gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>support for de-commissioning a node using 'remove-brick'</title>
<updated>2011-09-13T09:10:12+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2011-09-09T04:12:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=25daa42911d2ff697880ee29c591cac5f2abebed'/>
<id>25daa42911d2ff697880ee29c591cac5f2abebed</id>
<content type='text'>
to achieve this, we now create volume-file with
'decommissioned-nodes' option in distribute volume, then just
perform the rebalance set of operations (with 'force' flag set).

now onwards, the 'remove-brick' (with 'start' option) operation tries
to migrate data from removed bricks to existing bricks.

'remove-brick' also supports similar options as of replace-brick.

* (no options) -&gt; works as 'force', will have the current behavior
         of remove-brick, ie., no data-migration, volume changes.

* start  (starts remove-brick with data-migration/draining process,
          which takes care of migrating data and once complete, will
          commit the changes to volume file)
* pause  (stop data migration, but keep the volume file intact with
          extra options whatever is set)
* abort  (stop data-migration, and fall back to old configuration)
* commit (if volume is stopped, commits the changes to volumefile)
* force  (stops the data-migration and commits the changes to
          volume file)

Change-Id: I3952bcfbe604a0952e68b6accace7014d5e401d3
BUG: 1952
Reviewed-on: http://review.gluster.com/118
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to achieve this, we now create volume-file with
'decommissioned-nodes' option in distribute volume, then just
perform the rebalance set of operations (with 'force' flag set).

now onwards, the 'remove-brick' (with 'start' option) operation tries
to migrate data from removed bricks to existing bricks.

'remove-brick' also supports similar options as of replace-brick.

* (no options) -&gt; works as 'force', will have the current behavior
         of remove-brick, ie., no data-migration, volume changes.

* start  (starts remove-brick with data-migration/draining process,
          which takes care of migrating data and once complete, will
          commit the changes to volume file)
* pause  (stop data migration, but keep the volume file intact with
          extra options whatever is set)
* abort  (stop data-migration, and fall back to old configuration)
* commit (if volume is stopped, commits the changes to volumefile)
* force  (stops the data-migration and commits the changes to
          volume file)

Change-Id: I3952bcfbe604a0952e68b6accace7014d5e401d3
BUG: 1952
Reviewed-on: http://review.gluster.com/118
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>socket: provide proper arguments to getaddrinfo</title>
<updated>2011-09-13T07:04:33+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2011-09-13T06:41:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=58c5e9feae1fdf618bb120f4c8ea318cc628dd06'/>
<id>58c5e9feae1fdf618bb120f4c8ea318cc628dd06</id>
<content type='text'>
-----
from 'man getaddrinfo' :

If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4 addresses
are returned in the list pointed to by res only if the local system has
at least one IPv4 address  configured, and IPv6 addresses are only
returned if the local system has at least one IPv6 address configured.
-----

Change-Id: Ie30344daf1bb9d41ac58741b38e83af35cd8b5e9
BUG: 2456
Reviewed-on: http://review.gluster.com/405
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
-----
from 'man getaddrinfo' :

If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4 addresses
are returned in the list pointed to by res only if the local system has
at least one IPv4 address  configured, and IPv6 addresses are only
returned if the local system has at least one IPv6 address configured.
-----

Change-Id: Ie30344daf1bb9d41ac58741b38e83af35cd8b5e9
BUG: 2456
Reviewed-on: http://review.gluster.com/405
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd / cli: mount-broker service</title>
<updated>2011-09-12T13:23:11+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@gluster.com</email>
</author>
<published>2011-07-30T15:50:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=37ac355cbbd36497f914905615bffb3e35805f0a'/>
<id>37ac355cbbd36497f914905615bffb3e35805f0a</id>
<content type='text'>
Mountbroker is configured in glusterd volfile through a DSL
which is restriced enough to be able to appear in the role
of the value of a volfile knob.

Basically the DSL describes set-theorical requirements
against the option set which is sent by the cli (in the
hope of getting a mount with these options).

If the requirements meet and the volume id and the uid
who is to "own" the mount can be unambigously deduced from
the given request, glusterd does the mount with the given
parameters.

The use case of geo-replication is sugared by means of volume
options which then generate a complete mount-broker option set.

Demo:

- add the following option to your glusterd volfile:

    option mountbroker-root /tmp/mbr
    option mountbroker.fool EQL(volfile-id=pop*|user-map-root=*|volfile-server=localhost)&amp;MEET(user-map-root=john|user-map-root=jane)

- before starting glusterd, create /tmp/mbr owned by root with mode 0755

- with cli, do

   $ gluster system:: mount fool volfile-id=pop33 user-map-root=jane volfile-server=localhost

- on succesful completion (volume pop33 exists and is started, jane is a valid username),
  the mount path will be echoed to you

- you can get rid of the mount by

   $ gluster system:: umount &lt;mount-path&gt;

Change-Id: I629cf64add0a45500d05becc3316f67cdb5b42ff
BUG: 3482
Reviewed-on: http://review.gluster.com/128
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mountbroker is configured in glusterd volfile through a DSL
which is restriced enough to be able to appear in the role
of the value of a volfile knob.

Basically the DSL describes set-theorical requirements
against the option set which is sent by the cli (in the
hope of getting a mount with these options).

If the requirements meet and the volume id and the uid
who is to "own" the mount can be unambigously deduced from
the given request, glusterd does the mount with the given
parameters.

The use case of geo-replication is sugared by means of volume
options which then generate a complete mount-broker option set.

Demo:

- add the following option to your glusterd volfile:

    option mountbroker-root /tmp/mbr
    option mountbroker.fool EQL(volfile-id=pop*|user-map-root=*|volfile-server=localhost)&amp;MEET(user-map-root=john|user-map-root=jane)

- before starting glusterd, create /tmp/mbr owned by root with mode 0755

- with cli, do

   $ gluster system:: mount fool volfile-id=pop33 user-map-root=jane volfile-server=localhost

- on succesful completion (volume pop33 exists and is started, jane is a valid username),
  the mount path will be echoed to you

- you can get rid of the mount by

   $ gluster system:: umount &lt;mount-path&gt;

Change-Id: I629cf64add0a45500d05becc3316f67cdb5b42ff
BUG: 3482
Reviewed-on: http://review.gluster.com/128
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc: Need to keep ref when handling cbk in call_bail.</title>
<updated>2011-09-12T10:59:07+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kp@gluster.com</email>
</author>
<published>2011-09-05T14:44:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=417de9db670650edd96e82a6e43087bea49deeee'/>
<id>417de9db670650edd96e82a6e43087bea49deeee</id>
<content type='text'>
Change-Id: Ic944599cfa2696a0ae77105185d49fb510ce6fec
BUG: 3511
Reviewed-on: http://review.gluster.com/361
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ic944599cfa2696a0ae77105185d49fb510ce6fec
BUG: 3511
Reviewed-on: http://review.gluster.com/361
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
