<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/cli/src/cli-rpc-ops.c, branch v3.6.9</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>core: fix Ubuntu code audit (cppcheck) results</title>
<updated>2015-06-10T12:03:01+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2014-07-22T21:03:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=4a1a1c9945656b3197b2677dd6c2142f02ade4dc'/>
<id>4a1a1c9945656b3197b2677dd6c2142f02ade4dc</id>
<content type='text'>
See also http://review.gluster.org/#/c/8064/, BZ 1109180, and
http://review.gluster.org/#/c/7693/, BZ 1091677

AFAICT these are false positives:

[geo-replication/src/gsyncd.c:100]: (error) Memory leak: str
[geo-replication/src/gsyncd.c:403]: (error) Memory leak: argv
[xlators/nfs/server/src/nlm4.c:1201]: (error) Possible null pointer dereference: fde
[xlators/cluster/afr/src/afr-self-heal-common.c:138]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:140]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:331]: (error) Possible null pointer dereference: __ptr

Test program:

[extras/test/test-ffop.c:27]: (error) Buffer overrun possible for long command line arguments.
[tests/basic/fops-sanity.c:55]: (error) Buffer overrun possible for long command line arguments.

the remainder are fixed with this change-set:

[cli/src/cli-rpc-ops.c:8883]: (error) Possible null pointer dereference: local
[cli/src/cli-rpc-ops.c:8886]: (error) Possible null pointer dereference: local
[contrib/uuid/gen_uuid.c:369]: (warning) %ld in format string (no. 2) requires 'long *' but the argument type is 'unsigned long *'.
[contrib/uuid/gen_uuid.c:369]: (warning) %ld in format string (no. 3) requires 'long *' but the argument type is 'unsigned long *'.
[xlators/cluster/dht/src/dht-rebalance.c:1734]: (error) Possible null pointer dereference: ctx
[xlators/cluster/stripe/src/stripe.c:4940]: (error) Possible null pointer dereference: local
[xlators/mgmt/glusterd/src/glusterd-geo-rep.c:1718]: (error) Possible null pointer dereference: command
[xlators/mgmt/glusterd/src/glusterd-replace-brick.c:942]: (error) Resource leak: file
[xlators/mgmt/glusterd/src/glusterd-replace-brick.c:1026]: (error) Resource leak: file
[xlators/mgmt/glusterd/src/glusterd-sm.c:249]: (error) Possible null pointer dereference: new_ev_ctx
[xlators/mgmt/glusterd/src/glusterd-snapshot.c:6917]: (error) Possible null pointer dereference: volinfo
[xlators/mgmt/glusterd/src/glusterd-utils.c:4517]: (error) Possible null pointer dereference: this
[xlators/mgmt/glusterd/src/glusterd-utils.c:6662]: (error) Possible null pointer dereference: this
[xlators/mgmt/glusterd/src/glusterd-utils.c:7708]: (error) Possible null pointer dereference: this
[xlators/mount/fuse/src/fuse-bridge.c:4687]: (error) Uninitialized variable: finh
[xlators/mount/fuse/src/fuse-bridge.c:3080]: (error) Possible null pointer dereference: state
[xlators/nfs/server/src/nfs-common.c:89]: (error) Dangerous usage of 'volname' (strncpy doesn't always null-terminate it).
[xlators/performance/quick-read/src/quick-read.c:586]: (error) Possible null pointer dereference: iobuf

Rerunning cppcheck after fixing the above:

As before, test program:

[extras/test/test-ffop.c:27]: (error) Buffer overrun possible for long command line arguments.
[tests/basic/fops-sanity.c:55]: (error) Buffer overrun possible for long command line arguments.

As before, false positive:

[geo-replication/src/gsyncd.c:100]: (error) Memory leak: str
[geo-replication/src/gsyncd.c:403]: (error) Memory leak: argv
[xlators/nfs/server/src/nlm4.c:1201]: (error) Possible null pointer dereference: fde
[xlators/cluster/afr/src/afr-self-heal-common.c:138]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:140]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:331]: (error) Possible null pointer dereference: __ptr

False positive after fix:

[xlators/performance/quick-read/src/quick-read.c:584]: (error) Possible null pointer dereference: iobuf

Change-Id: Ia5a256281156dd1df2fa900caea7694d9d0a7077
BUG: 1122290
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8351
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See also http://review.gluster.org/#/c/8064/, BZ 1109180, and
http://review.gluster.org/#/c/7693/, BZ 1091677

AFAICT these are false positives:

[geo-replication/src/gsyncd.c:100]: (error) Memory leak: str
[geo-replication/src/gsyncd.c:403]: (error) Memory leak: argv
[xlators/nfs/server/src/nlm4.c:1201]: (error) Possible null pointer dereference: fde
[xlators/cluster/afr/src/afr-self-heal-common.c:138]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:140]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:331]: (error) Possible null pointer dereference: __ptr

Test program:

[extras/test/test-ffop.c:27]: (error) Buffer overrun possible for long command line arguments.
[tests/basic/fops-sanity.c:55]: (error) Buffer overrun possible for long command line arguments.

the remainder are fixed with this change-set:

[cli/src/cli-rpc-ops.c:8883]: (error) Possible null pointer dereference: local
[cli/src/cli-rpc-ops.c:8886]: (error) Possible null pointer dereference: local
[contrib/uuid/gen_uuid.c:369]: (warning) %ld in format string (no. 2) requires 'long *' but the argument type is 'unsigned long *'.
[contrib/uuid/gen_uuid.c:369]: (warning) %ld in format string (no. 3) requires 'long *' but the argument type is 'unsigned long *'.
[xlators/cluster/dht/src/dht-rebalance.c:1734]: (error) Possible null pointer dereference: ctx
[xlators/cluster/stripe/src/stripe.c:4940]: (error) Possible null pointer dereference: local
[xlators/mgmt/glusterd/src/glusterd-geo-rep.c:1718]: (error) Possible null pointer dereference: command
[xlators/mgmt/glusterd/src/glusterd-replace-brick.c:942]: (error) Resource leak: file
[xlators/mgmt/glusterd/src/glusterd-replace-brick.c:1026]: (error) Resource leak: file
[xlators/mgmt/glusterd/src/glusterd-sm.c:249]: (error) Possible null pointer dereference: new_ev_ctx
[xlators/mgmt/glusterd/src/glusterd-snapshot.c:6917]: (error) Possible null pointer dereference: volinfo
[xlators/mgmt/glusterd/src/glusterd-utils.c:4517]: (error) Possible null pointer dereference: this
[xlators/mgmt/glusterd/src/glusterd-utils.c:6662]: (error) Possible null pointer dereference: this
[xlators/mgmt/glusterd/src/glusterd-utils.c:7708]: (error) Possible null pointer dereference: this
[xlators/mount/fuse/src/fuse-bridge.c:4687]: (error) Uninitialized variable: finh
[xlators/mount/fuse/src/fuse-bridge.c:3080]: (error) Possible null pointer dereference: state
[xlators/nfs/server/src/nfs-common.c:89]: (error) Dangerous usage of 'volname' (strncpy doesn't always null-terminate it).
[xlators/performance/quick-read/src/quick-read.c:586]: (error) Possible null pointer dereference: iobuf

Rerunning cppcheck after fixing the above:

As before, test program:

[extras/test/test-ffop.c:27]: (error) Buffer overrun possible for long command line arguments.
[tests/basic/fops-sanity.c:55]: (error) Buffer overrun possible for long command line arguments.

As before, false positive:

[geo-replication/src/gsyncd.c:100]: (error) Memory leak: str
[geo-replication/src/gsyncd.c:403]: (error) Memory leak: argv
[xlators/nfs/server/src/nlm4.c:1201]: (error) Possible null pointer dereference: fde
[xlators/cluster/afr/src/afr-self-heal-common.c:138]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:140]: (error) Possible null pointer dereference: __ptr
[xlators/cluster/afr/src/afr-self-heal-common.c:331]: (error) Possible null pointer dereference: __ptr

False positive after fix:

[xlators/performance/quick-read/src/quick-read.c:584]: (error) Possible null pointer dereference: iobuf

Change-Id: Ia5a256281156dd1df2fa900caea7694d9d0a7077
BUG: 1122290
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8351
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: logging improvements</title>
<updated>2015-05-25T10:08:16+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vbellur@redhat.com</email>
</author>
<published>2015-01-05T10:32:40+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=62564fa2aaf1ada2b29255db82cc1c2a520decd0'/>
<id>62564fa2aaf1ada2b29255db82cc1c2a520decd0</id>
<content type='text'>
1. cli used to log messages at all log levels. This is related to
a peculiar behavior of gcc which treats any enum variable whose type
has non-negative only defined values to be an unsigned integer.
This would cause cli's loglevel (defaulted from state-&gt;loglevel) to be
set as (uint)-1 previously and hence all log messages across
levels would appear in the cli log file. Now cli's loglevel defaults to
log level INFO.

2. Changed logging level of messages of type "Returning %d".. to DEBUG.

Change-Id: I05094e523fc277d9ad32cc9d76aee873c0fd3859
BUG: 1224624
Signed-off-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9383
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10904
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. cli used to log messages at all log levels. This is related to
a peculiar behavior of gcc which treats any enum variable whose type
has non-negative only defined values to be an unsigned integer.
This would cause cli's loglevel (defaulted from state-&gt;loglevel) to be
set as (uint)-1 previously and hence all log messages across
levels would appear in the cli log file. Now cli's loglevel defaults to
log level INFO.

2. Changed logging level of messages of type "Returning %d".. to DEBUG.

Change-Id: I05094e523fc277d9ad32cc9d76aee873c0fd3859
BUG: 1224624
Signed-off-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9383
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10904
</pre>
</div>
</content>
</entry>
<entry>
<title>features/quota : Fix XML output for quota list command.</title>
<updated>2015-03-18T11:48:21+00:00</updated>
<author>
<name>Sachin Pandit</name>
<email>spandit@redhat.com</email>
</author>
<published>2015-02-02T23:31:38+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=286faf01e9ed4387ea36d9bb7e56f4917acd4e58'/>
<id>286faf01e9ed4387ea36d9bb7e56f4917acd4e58</id>
<content type='text'>
Sample output:
---------------

Sample 1)
----------
[root@snapshot-28 glusterfs]# gluster volume quota vol1 list /dir1 /dir4 /dir5 --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
  &lt;volQuota&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir1&lt;/path&gt;
      &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
      &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
      &lt;used_space&gt;0Bytes&lt;/used_space&gt;
      &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
      &lt;hl_exceeded&gt;No&lt;/hl_exceeded&gt;
      &lt;sl_exceeded&gt;No&lt;/sl_exceeded&gt;
    &lt;/limit&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir4&lt;/path&gt;
      &lt;path&gt;No such file or directory&lt;/path&gt;
    &lt;/limit&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir5&lt;/path&gt;
      &lt;path&gt;No such file or directory&lt;/path&gt;
    &lt;/limit&gt;
  &lt;/volQuota&gt;
&lt;/cliOutput&gt;

Sample 2)
---------
gluster volume quota vol1 list --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
  &lt;volQuota/&gt;
&lt;/cliOutput&gt;
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;volQuota&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir&lt;/path&gt;
      &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
      &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
      &lt;used_space&gt;0Bytes&lt;/used_space&gt;
      &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
      &lt;hl_exceeded&gt;No&lt;/hl_exceeded&gt;
      &lt;sl_exceeded&gt;No&lt;/sl_exceeded&gt;
    &lt;/limit&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir1&lt;/path&gt;
      &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
      &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
      &lt;used_space&gt;0Bytes&lt;/used_space&gt;
      &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
      &lt;hl_exceeded&gt;No&lt;/hl_exceeded&gt;
      &lt;sl_exceeded&gt;No&lt;/sl_exceeded&gt;
    &lt;/limit&gt;
  &lt;/volQuota&gt;
&lt;/cliOutput&gt;

Change-Id: I8a8d83cff88f778e5ee01fbca07d9f94c412317a
BUG: 1200297
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9481
Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9847
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sample output:
---------------

Sample 1)
----------
[root@snapshot-28 glusterfs]# gluster volume quota vol1 list /dir1 /dir4 /dir5 --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
  &lt;volQuota&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir1&lt;/path&gt;
      &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
      &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
      &lt;used_space&gt;0Bytes&lt;/used_space&gt;
      &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
      &lt;hl_exceeded&gt;No&lt;/hl_exceeded&gt;
      &lt;sl_exceeded&gt;No&lt;/sl_exceeded&gt;
    &lt;/limit&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir4&lt;/path&gt;
      &lt;path&gt;No such file or directory&lt;/path&gt;
    &lt;/limit&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir5&lt;/path&gt;
      &lt;path&gt;No such file or directory&lt;/path&gt;
    &lt;/limit&gt;
  &lt;/volQuota&gt;
&lt;/cliOutput&gt;

Sample 2)
---------
gluster volume quota vol1 list --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
  &lt;volQuota/&gt;
&lt;/cliOutput&gt;
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;volQuota&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir&lt;/path&gt;
      &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
      &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
      &lt;used_space&gt;0Bytes&lt;/used_space&gt;
      &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
      &lt;hl_exceeded&gt;No&lt;/hl_exceeded&gt;
      &lt;sl_exceeded&gt;No&lt;/sl_exceeded&gt;
    &lt;/limit&gt;
    &lt;limit&gt;
      &lt;path&gt;/dir1&lt;/path&gt;
      &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
      &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
      &lt;used_space&gt;0Bytes&lt;/used_space&gt;
      &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
      &lt;hl_exceeded&gt;No&lt;/hl_exceeded&gt;
      &lt;sl_exceeded&gt;No&lt;/sl_exceeded&gt;
    &lt;/limit&gt;
  &lt;/volQuota&gt;
&lt;/cliOutput&gt;

Change-Id: I8a8d83cff88f778e5ee01fbca07d9f94c412317a
BUG: 1200297
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9481
Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9847
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd : release cluster wide locks in op-sm during failures</title>
<updated>2015-03-04T07:31:08+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2014-10-27T06:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b646678334f4fab78883ecc1b993ec0cb1b49aba'/>
<id>b646678334f4fab78883ecc1b993ec0cb1b49aba</id>
<content type='text'>
glusterd op-sm infrastructure has some loophole in handing error cases in
locking/unlocking phases which ends up having stale locks restricting
further transactions to go through.

This patch still doesn't handle all possible unlocking error cases as the
framework neither has retry mechanism nor the lock timeout. For eg - if
unlocking fails in one of the peer, cluster wide lock is not released and
further transaction can not be made until and unless originator node/the node
where unlocking failed is restarted.

Following test cases were executed (with the help of gdb) after applying this
patch:

* RPC timesout in lock cbk
* Decoding of RPC response in lock cbk fails
* RPC response is received from unknown peer in lock cbk
* Setting peerinfo in dictionary fails while sending lock request for first peer
  in the list
* Setting peerinfo in dictionary fails while sending lock request for other
  peers
* Lock RPC could not be sent for peers

For all above test cases the success criteria is not to have any stale locks

Patch link : http://review.gluster.org/9012

Change-Id: Ia1550341c31005c7850ee1b2697161c9ca04b01a
BUG: 1179136
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9012
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9393
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
glusterd op-sm infrastructure has some loophole in handing error cases in
locking/unlocking phases which ends up having stale locks restricting
further transactions to go through.

This patch still doesn't handle all possible unlocking error cases as the
framework neither has retry mechanism nor the lock timeout. For eg - if
unlocking fails in one of the peer, cluster wide lock is not released and
further transaction can not be made until and unless originator node/the node
where unlocking failed is restarted.

Following test cases were executed (with the help of gdb) after applying this
patch:

* RPC timesout in lock cbk
* Decoding of RPC response in lock cbk fails
* RPC response is received from unknown peer in lock cbk
* Setting peerinfo in dictionary fails while sending lock request for first peer
  in the list
* Setting peerinfo in dictionary fails while sending lock request for other
  peers
* Lock RPC could not be sent for peers

For all above test cases the success criteria is not to have any stale locks

Patch link : http://review.gluster.org/9012

Change-Id: Ia1550341c31005c7850ee1b2697161c9ca04b01a
BUG: 1179136
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9012
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9393
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd/snapshot: Snapshot should be deactivated when it is created.</title>
<updated>2014-12-19T06:52:22+00:00</updated>
<author>
<name>vmallika</name>
<email>vmallika@redhat.com</email>
</author>
<published>2014-10-28T06:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=df0ff94a64bd597e61f26a2a56297de7abf80a0f'/>
<id>df0ff94a64bd597e61f26a2a56297de7abf80a0f</id>
<content type='text'>
By default snapshot should be deactivated and this should be a
configurable option.

This behaviour can be configured by the command below:
gluster snapshot config activate-on-create &lt;enable|disable&gt;

Change-Id: I1911595c32beed43bb2fca4bf99f0d264b422513
BUG: 1170921
Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8985
Tested-by: 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;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9241
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By default snapshot should be deactivated and this should be a
configurable option.

This behaviour can be configured by the command below:
gluster snapshot config activate-on-create &lt;enable|disable&gt;

Change-Id: I1911595c32beed43bb2fca4bf99f0d264b422513
BUG: 1170921
Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8985
Tested-by: 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;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/9241
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>porting: OSX build fixes</title>
<updated>2014-10-23T19:09:49+00:00</updated>
<author>
<name>Harshavardhana</name>
<email>harsha@harshavardhana.net</email>
</author>
<published>2014-08-26T21:40:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=8ea1a4844975940013d8704f87ee137dcb27bfb5'/>
<id>8ea1a4844975940013d8704f87ee137dcb27bfb5</id>
<content type='text'>
 - xml build
 - do not redefine AT_SYMLINK_FOLLOW

Change-Id: I516b3713904a6bad946a30f76fe4821f2ac61fd3
BUG: 1130307
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Reviewed-on: http://review.gluster.org/8970
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>
 - xml build
 - do not redefine AT_SYMLINK_FOLLOW

Change-Id: I516b3713904a6bad946a30f76fe4821f2ac61fd3
BUG: 1130307
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Reviewed-on: http://review.gluster.org/8970
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feature/snapshot : Interface to delete all snapshots belonging to a system as-well-as to a particular volume</title>
<updated>2014-09-23T09:01:04+00:00</updated>
<author>
<name>Sachin Pandit</name>
<email>spandit@redhat.com</email>
</author>
<published>2014-06-23T04:05:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=c5aa277ec26cd7cf4109bc8854af50a254edbbd9'/>
<id>c5aa277ec26cd7cf4109bc8854af50a254edbbd9</id>
<content type='text'>
Problem :
With the current design we can only delete a single snapshot.
And the deletion of volume which contains snapshot is not allowed.
Because of that user might be forced to delete all the snapshots
manually before he is allowed to delete a volume.

Solution:
Following is the interface with which user can delete
all the snapshots of a system or belonging to a particular volume.

        Syntax : gluster snapshot delete all

        *To delete all the snapshots present in a system

        Syntax : gluster snapshot delete volume &lt;volname&gt;

        *To deletes all the snapshot present in a volume specified.

========================================================================
Sample Output:

Case 1 : Deleting a single snapshot.
[root@snapshot-24 glusterfs]# gluster snapshot delete snap1
Deleting snap will erase all the information about the snap. Do you still want to continue? (y/n) y
snapshot delete: snap1: snap removed successfully

-----------------------------------------------------------------
Case 2 : Deleting all the snapshots in a Volume.
[root@snapshot-24 glusterfs]# gluster snapshot delete volume vol1
Volume (vol1) contains 9 snapshot(s).
Do you still want to continue and delete them?  (y/n) y
snapshot delete: snap2: snap removed successfully
snapshot delete: snap3: snap removed successfully
snapshot delete: snap4: snap removed successfully
snapshot delete: snap5: snap removed successfully
.
.
.

-----------------------------------------------------------------
Case 3 : Deleting all the snapshots in a system.
[root@snapshot-24 glusterfs]# gluster snapshot delete all
System contains 4 snapshot(s).
Do you still want to continue and delete them?  (y/n) y
snapshot delete: snap7: snap removed successfully
snapshot delete: snap8: snap removed successfully
snapshot delete: snap9: snap removed successfully
snapshot delete: snap10: snap removed successfully
========================================================================

Change-Id: Ifec8e128ab2011cbbba208376b9c92cfbe7d8d71
BUG: 1145083
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8162
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8798
Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem :
With the current design we can only delete a single snapshot.
And the deletion of volume which contains snapshot is not allowed.
Because of that user might be forced to delete all the snapshots
manually before he is allowed to delete a volume.

Solution:
Following is the interface with which user can delete
all the snapshots of a system or belonging to a particular volume.

        Syntax : gluster snapshot delete all

        *To delete all the snapshots present in a system

        Syntax : gluster snapshot delete volume &lt;volname&gt;

        *To deletes all the snapshot present in a volume specified.

========================================================================
Sample Output:

Case 1 : Deleting a single snapshot.
[root@snapshot-24 glusterfs]# gluster snapshot delete snap1
Deleting snap will erase all the information about the snap. Do you still want to continue? (y/n) y
snapshot delete: snap1: snap removed successfully

-----------------------------------------------------------------
Case 2 : Deleting all the snapshots in a Volume.
[root@snapshot-24 glusterfs]# gluster snapshot delete volume vol1
Volume (vol1) contains 9 snapshot(s).
Do you still want to continue and delete them?  (y/n) y
snapshot delete: snap2: snap removed successfully
snapshot delete: snap3: snap removed successfully
snapshot delete: snap4: snap removed successfully
snapshot delete: snap5: snap removed successfully
.
.
.

-----------------------------------------------------------------
Case 3 : Deleting all the snapshots in a system.
[root@snapshot-24 glusterfs]# gluster snapshot delete all
System contains 4 snapshot(s).
Do you still want to continue and delete them?  (y/n) y
snapshot delete: snap7: snap removed successfully
snapshot delete: snap8: snap removed successfully
snapshot delete: snap9: snap removed successfully
snapshot delete: snap10: snap removed successfully
========================================================================

Change-Id: Ifec8e128ab2011cbbba208376b9c92cfbe7d8d71
BUG: 1145083
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8162
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8798
Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli/snapshot : gluster volume info should not show the options which are not set explicitly.</title>
<updated>2014-09-23T09:00:22+00:00</updated>
<author>
<name>Sachin Pandit</name>
<email>spandit@redhat.com</email>
</author>
<published>2014-06-26T02:21:02+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b98ed29cf6c1b999a025dff2269118a9198bd987'/>
<id>b98ed29cf6c1b999a025dff2269118a9198bd987</id>
<content type='text'>
Problem : Even though snap-max-hard-limit, snap-max-soft-limit and
auto-delete values were not set explicitly, It was getting showed
in the output of gluster volume info.

Solution : Check if the value is already present in dictionary
(That means, it is set), If value is not present then consider
the default value,

NOTE : This patch doesn't solve the problem where the values
which is set globally are being displayed in gluster volume info

Change-Id: I61445b3d2a12eb68c38a19bea53b9051ad028050
BUG: 1145020
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8191
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8793
Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem : Even though snap-max-hard-limit, snap-max-soft-limit and
auto-delete values were not set explicitly, It was getting showed
in the output of gluster volume info.

Solution : Check if the value is already present in dictionary
(That means, it is set), If value is not present then consider
the default value,

NOTE : This patch doesn't solve the problem where the values
which is set globally are being displayed in gluster volume info

Change-Id: I61445b3d2a12eb68c38a19bea53b9051ad028050
BUG: 1145020
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8191
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8793
Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: make GLUSTERD_WORKDIR rely on localstatedir</title>
<updated>2014-09-03T18:01:45+00:00</updated>
<author>
<name>Harshavardhana</name>
<email>harsha@harshavardhana.net</email>
</author>
<published>2014-08-14T20:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=025ae07850375cbf981ed335a4ddf702d54be6e3'/>
<id>025ae07850375cbf981ed335a4ddf702d54be6e3</id>
<content type='text'>
Backport from master branch - http://review.gluster.org/#/c/8246/

- Break-way from '/var/lib/glusterd' hard-coded previously,
  instead rely on 'configure' value from 'localstatedir'
- Provide 's/lib/db' as default working directory for gluster
  management daemon for BSD and Darwin based installations
- loff_t is really off_t on Darwin
- fix-off the warnings generated by clang on FreeBSD/Darwin
- Now 'tests/*' use GLUSTERD_WORKDIR a common variable for all
  platforms.
- Define proper environment for running tests, define correct PATH
  and LD_LIBRARY_PATH when running tests, so that the desired version
  of glusterfs is used, regardless where it is installed.
  (Thanks to manu@netbsd.org for this additional work)

Change-Id: I06e684ac4c26d1e74c9daf76753403ad15f79276
BUG: 1130308
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Reviewed-on: http://review.gluster.org/8486
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 from master branch - http://review.gluster.org/#/c/8246/

- Break-way from '/var/lib/glusterd' hard-coded previously,
  instead rely on 'configure' value from 'localstatedir'
- Provide 's/lib/db' as default working directory for gluster
  management daemon for BSD and Darwin based installations
- loff_t is really off_t on Darwin
- fix-off the warnings generated by clang on FreeBSD/Darwin
- Now 'tests/*' use GLUSTERD_WORKDIR a common variable for all
  platforms.
- Define proper environment for running tests, define correct PATH
  and LD_LIBRARY_PATH when running tests, so that the desired version
  of glusterfs is used, regardless where it is installed.
  (Thanks to manu@netbsd.org for this additional work)

Change-Id: I06e684ac4c26d1e74c9daf76753403ad15f79276
BUG: 1130308
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Reviewed-on: http://review.gluster.org/8486
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: Xml output for geo-replication status command</title>
<updated>2014-08-28T16:52:25+00:00</updated>
<author>
<name>ndarshan</name>
<email>dnarayan@redhat.com</email>
</author>
<published>2014-07-22T08:49:19+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=845d6c76701a3de6a11b76b004176971411c714e'/>
<id>845d6c76701a3de6a11b76b004176971411c714e</id>
<content type='text'>
This patch adds xml output for geo-replication status
and status detail command.
sample:
--------------------------------------------------------------
  &lt;geoRep&gt;
    &lt;volume&gt;
      &lt;name&gt;master&lt;/name&gt;
      &lt;sessions&gt;
        &lt;session&gt;
        &lt;session_slave&gt;:2a301d66-b9d2-44b4-b827-d680d67123eb:ssh://XXXXXXXXXX::slave&lt;/session_slave&gt;
          &lt;pair&gt;
            &lt;master_node&gt;localhost.localdomain&lt;/master_node&gt;
            &lt;master_node_uuid&gt;2a301d66-b9d2-44b4-b827-d680d67123eb&lt;/master_node_uuid&gt;
            &lt;master_brick&gt;/root/master_b1&lt;/master_brick&gt;
            &lt;slave&gt;ssh://XXXXXXXXXXX::slave&lt;/slave&gt;
            &lt;status&gt;faulty&lt;/status&gt;
            &lt;checkpoint_status&gt;N/A&lt;/checkpoint_status&gt;
            &lt;crawl_status&gt;N/A&lt;/crawl_status&gt;
          &lt;/pair&gt;
        &lt;/session&gt;
      &lt;/sessions&gt;
    &lt;/volume&gt;
  &lt;/geoRep&gt;
-------------------------------------------------------------

Change-Id: Ia19dbe751c3ab1ec7cb8923cdd6c8b99c374072f
BUG: 1133464
Signed-off-by: ndarshan &lt;dnarayan@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8089
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: ndarshan &lt;dnarayan@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8532
Reviewed-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds xml output for geo-replication status
and status detail command.
sample:
--------------------------------------------------------------
  &lt;geoRep&gt;
    &lt;volume&gt;
      &lt;name&gt;master&lt;/name&gt;
      &lt;sessions&gt;
        &lt;session&gt;
        &lt;session_slave&gt;:2a301d66-b9d2-44b4-b827-d680d67123eb:ssh://XXXXXXXXXX::slave&lt;/session_slave&gt;
          &lt;pair&gt;
            &lt;master_node&gt;localhost.localdomain&lt;/master_node&gt;
            &lt;master_node_uuid&gt;2a301d66-b9d2-44b4-b827-d680d67123eb&lt;/master_node_uuid&gt;
            &lt;master_brick&gt;/root/master_b1&lt;/master_brick&gt;
            &lt;slave&gt;ssh://XXXXXXXXXXX::slave&lt;/slave&gt;
            &lt;status&gt;faulty&lt;/status&gt;
            &lt;checkpoint_status&gt;N/A&lt;/checkpoint_status&gt;
            &lt;crawl_status&gt;N/A&lt;/crawl_status&gt;
          &lt;/pair&gt;
        &lt;/session&gt;
      &lt;/sessions&gt;
    &lt;/volume&gt;
  &lt;/geoRep&gt;
-------------------------------------------------------------

Change-Id: Ia19dbe751c3ab1ec7cb8923cdd6c8b99c374072f
BUG: 1133464
Signed-off-by: ndarshan &lt;dnarayan@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8089
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: ndarshan &lt;dnarayan@redhat.com&gt;
Reviewed-on: http://review.gluster.org/8532
Reviewed-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
