<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/heal/src, branch v3.10.4</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>glfsheal: prevent background self-heals</title>
<updated>2017-07-04T14:40:10+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2017-06-25T16:20:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=b582c9a28cc81a593fbedc8fba7b18ae3095e11e'/>
<id>b582c9a28cc81a593fbedc8fba7b18ae3095e11e</id>
<content type='text'>
Problem:
For a file in gfid split-brain, the parent directory ('/' during
testing) was detected as possibly undergoing heal instead of split-brain
in `heal-info` output. Also, it was not being displayed in `info
split-brain` output for the same reason. The problem was that when `glfsheal`
was run, lookup on '/' triggered a background self-heal due to which processing
of '/' during `heal info` failed to acquire locks with errno=EAGAIN.

Fix:
Set background-self-heal-count to zero while launching glfsheal.

&gt; Reviewed-on: https://review.gluster.org/13772
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Jeff Darcy &lt;jeff@pl.atyp.us&gt;
(cherry picked from commit b4db625d0ccb4fdc6537ed9f6e8ebeaffd1c4873)

Change-Id: I153a7c75af71f213a4eefacf504a0f9806c528a5
BUG: 1467269
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17676
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
For a file in gfid split-brain, the parent directory ('/' during
testing) was detected as possibly undergoing heal instead of split-brain
in `heal-info` output. Also, it was not being displayed in `info
split-brain` output for the same reason. The problem was that when `glfsheal`
was run, lookup on '/' triggered a background self-heal due to which processing
of '/' during `heal info` failed to acquire locks with errno=EAGAIN.

Fix:
Set background-self-heal-count to zero while launching glfsheal.

&gt; Reviewed-on: https://review.gluster.org/13772
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Jeff Darcy &lt;jeff@pl.atyp.us&gt;
(cherry picked from commit b4db625d0ccb4fdc6537ed9f6e8ebeaffd1c4873)

Change-Id: I153a7c75af71f213a4eefacf504a0f9806c528a5
BUG: 1467269
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17676
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glfsheal: Explicitly enable self-heal xlator options</title>
<updated>2016-12-15T15:46:26+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2016-12-14T17:18:20+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=209c2d447be874047cb98d86492b03fa807d1832'/>
<id>209c2d447be874047cb98d86492b03fa807d1832</id>
<content type='text'>
Enable data, metadata and entry self-heal as xlator-options so that glfs-heal.c
can heal split-brain files even if they are disabled on the volume via volume
set commands.

Change-Id: Ic191a1017131db1ded94d97c932079d7bfd79457
BUG: 1234054
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11333
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable data, metadata and entry self-heal as xlator-options so that glfs-heal.c
can heal split-brain files even if they are disabled on the volume via volume
set commands.

Change-Id: Ic191a1017131db1ded94d97c932079d7bfd79457
BUG: 1234054
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11333
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: CLI for granular entry heal enablement/disablement</title>
<updated>2016-11-28T11:56:33+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2016-09-22T11:18:54+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=6dfc90fcd36956dcc4f624b3912bfb8e9c95757f'/>
<id>6dfc90fcd36956dcc4f624b3912bfb8e9c95757f</id>
<content type='text'>
When there are already existing non-granular indices created that are
yet to be healed, if granular-entry-heal option is toggled from 'off' to
'on', AFR self-heal whenever it kicks in, will try to look for granular
indices in 'entry-changes'. Because of the absence of name indices,
granular entry healing logic will fail to heal these directories, and
worse yet unset pending extended attributes with the assumption that
are no entries that need heal.

To get around this, a new CLI is introduced which will invoke glfsheal
program to figure whether at the time an attempt is made to enable
granular entry heal, there are pending heals on the volume OR there
are one or more bricks that are down. If either of them is true, the
command will be failed with the appropriate error.

New CLI: gluster volume heal &lt;VOL&gt; granular-entry-heal {enable,disable}

Change-Id: I1f4fe8162813b9068e198965d94169fee4adc099
BUG: 1370410
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15747
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When there are already existing non-granular indices created that are
yet to be healed, if granular-entry-heal option is toggled from 'off' to
'on', AFR self-heal whenever it kicks in, will try to look for granular
indices in 'entry-changes'. Because of the absence of name indices,
granular entry healing logic will fail to heal these directories, and
worse yet unset pending extended attributes with the assumption that
are no entries that need heal.

To get around this, a new CLI is introduced which will invoke glfsheal
program to figure whether at the time an attempt is made to enable
granular entry heal, there are pending heals on the volume OR there
are one or more bricks that are down. If either of them is true, the
command will be failed with the appropriate error.

New CLI: gluster volume heal &lt;VOL&gt; granular-entry-heal {enable,disable}

Change-Id: I1f4fe8162813b9068e198965d94169fee4adc099
BUG: 1370410
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15747
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: Print to screen frequently</title>
<updated>2016-11-17T15:34:02+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2016-11-17T07:41:16+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=398cc2ce8b09dbff90aadfd483cadee9c90ec527'/>
<id>398cc2ce8b09dbff90aadfd483cadee9c90ec527</id>
<content type='text'>
Problem:
CLI appears to be hung because XML document is not flushed periodically

Fix:
Flush the buffer as soon as we print something

BUG: 1395993
Change-Id: Ic5f61d4c7d29ee162a124a049e60ceb810d6da6d
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15863
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
CLI appears to be hung because XML document is not flushed periodically

Fix:
Flush the buffer as soon as we print something

BUG: 1395993
Change-Id: Ic5f61d4c7d29ee162a124a049e60ceb810d6da6d
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15863
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: out-of-tree builds generates files in the wrong directory</title>
<updated>2016-09-18T16:34:37+00:00</updated>
<author>
<name>Kaleb S KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2016-04-26T21:04:04+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=e38dff5b4e0f0a25db664810fc3617eac44673ce'/>
<id>e38dff5b4e0f0a25db664810fc3617eac44673ce</id>
<content type='text'>
And minor cleanup of a few of the Makefile.am files while we're
at it.

Rewrite the make rules to do what xdrgen does. Now we can get rid
of xdrgen.

Note 1. netbsd6's sed doesn't do -i. Why are we still running
smoke tests on netbsd6 and not netbsd7? We barely support netbsd7
as it is.

Note 2. Why is/was libgfxdr.so (.../rpc/xdr/src/...) linked with
libglusterfs? A cut-and-paste mistake? It has no references to
symbols in libglusterfs.

Note3. "/#ifndef\|#define\|#endif/" (note the '\'s) is a _basic_
regex that matches the same lines as the _extended_ regex
"/#(ifndef|define|endif)/". To match the extended regex sed needs to
be run with -r on Linux; with -E on *BSD. However NetBSD's and
FreeBSD's sed helpfully also provide -r for compatibility. Using a
basic regex avoids having to use a kludge in order to run sed with
the correct option on OS X.

Note 4. Not copying the bit of xdrgen that inserts copyright/license
boilerplate. AFAIK it's silly to pretend that machine generated
files like these can be copyrighted or need license boilerplate.
The XDR source files have their own copyright and license; and
their copyrights are bound to be more up to date than old
boilerplate inserted by a script. From what I've seen of other
Open Source projects -- e.g. gcc and its C parser files generated
by yacc and lex -- IIRC they don't bother to add copyright/license
boilerplate to their generated files.

It appears that it's a long-standing feature of make (SysV, BSD,
gnu) for out-of-tree builds to helpfully pretend that the source
files it can find in the VPATH "exist" as if they are in the $cwd.
rpcgen doesn't work well in this situation and generates files
with "bad" #include directives.

E.g. if you `rpcgen ../../../../$srcdir/rpc/xdr/src/glusterfs3-xdr.x`,
you get an #include directive in the generated .c file like this:

  ...
  #include "../../../../$srcdir/rpc/xdr/src/glusterfs3-xdr.h"
  ...

which (obviously) results in compile errors on out-of-tree build
because the (generated) header file doesn't exist at that location.
Compared to `rpcgen ./glusterfs3-xdr.x` where you get:

  ...
  #include "glusterfs3-xdr.h"
  ...

Which is what we need. We have to resort to some Stupid Make Tricks
like the addition of various .PHONY targets to work around the VPATH
"help".

Warning: When doing an in-tree build, -I$(top_builddir)/rpc/xdr/...
looks exactly like -I$(top_srcdir)/rpc/xdr/...  Don't be fooled though.
And don't delete the -I$(top_builddir)/rpc/xdr/... bits

Change-Id: Iba6ab96b2d0a17c5a7e9f92233993b318858b62e
BUG: 1330604
Signed-off-by: Kaleb S KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14085
Tested-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And minor cleanup of a few of the Makefile.am files while we're
at it.

Rewrite the make rules to do what xdrgen does. Now we can get rid
of xdrgen.

Note 1. netbsd6's sed doesn't do -i. Why are we still running
smoke tests on netbsd6 and not netbsd7? We barely support netbsd7
as it is.

Note 2. Why is/was libgfxdr.so (.../rpc/xdr/src/...) linked with
libglusterfs? A cut-and-paste mistake? It has no references to
symbols in libglusterfs.

Note3. "/#ifndef\|#define\|#endif/" (note the '\'s) is a _basic_
regex that matches the same lines as the _extended_ regex
"/#(ifndef|define|endif)/". To match the extended regex sed needs to
be run with -r on Linux; with -E on *BSD. However NetBSD's and
FreeBSD's sed helpfully also provide -r for compatibility. Using a
basic regex avoids having to use a kludge in order to run sed with
the correct option on OS X.

Note 4. Not copying the bit of xdrgen that inserts copyright/license
boilerplate. AFAIK it's silly to pretend that machine generated
files like these can be copyrighted or need license boilerplate.
The XDR source files have their own copyright and license; and
their copyrights are bound to be more up to date than old
boilerplate inserted by a script. From what I've seen of other
Open Source projects -- e.g. gcc and its C parser files generated
by yacc and lex -- IIRC they don't bother to add copyright/license
boilerplate to their generated files.

It appears that it's a long-standing feature of make (SysV, BSD,
gnu) for out-of-tree builds to helpfully pretend that the source
files it can find in the VPATH "exist" as if they are in the $cwd.
rpcgen doesn't work well in this situation and generates files
with "bad" #include directives.

E.g. if you `rpcgen ../../../../$srcdir/rpc/xdr/src/glusterfs3-xdr.x`,
you get an #include directive in the generated .c file like this:

  ...
  #include "../../../../$srcdir/rpc/xdr/src/glusterfs3-xdr.h"
  ...

which (obviously) results in compile errors on out-of-tree build
because the (generated) header file doesn't exist at that location.
Compared to `rpcgen ./glusterfs3-xdr.x` where you get:

  ...
  #include "glusterfs3-xdr.h"
  ...

Which is what we need. We have to resort to some Stupid Make Tricks
like the addition of various .PHONY targets to work around the VPATH
"help".

Warning: When doing an in-tree build, -I$(top_builddir)/rpc/xdr/...
looks exactly like -I$(top_srcdir)/rpc/xdr/...  Don't be fooled though.
And don't delete the -I$(top_builddir)/rpc/xdr/... bits

Change-Id: Iba6ab96b2d0a17c5a7e9f92233993b318858b62e
BUG: 1330604
Signed-off-by: Kaleb S KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14085
Tested-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd : Introduce reset brick</title>
<updated>2016-08-30T02:55:53+00:00</updated>
<author>
<name>Anuradha Talur</name>
<email>atalur@redhat.com</email>
</author>
<published>2016-08-22T17:22:03+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=936f8aeac3252951e7fa0cdaa5d260fad3bd5ea0'/>
<id>936f8aeac3252951e7fa0cdaa5d260fad3bd5ea0</id>
<content type='text'>
The command basically allows replace brick with src and
dst bricks as same.

Usage:
gluster v reset-brick &lt;volname&gt; &lt;hostname:brick-path&gt; start
This command kills the brick to be reset. Once this command is run,
admin can do other manual operations that they need to do,
like configuring some options for the brick. Once this is done,
resetting the brick can be continued with the following options.

gluster v reset-brick &lt;vname&gt; &lt;hostname:brick&gt; &lt;hostname:brick&gt; commit {force}

Does the job of resetting the brick. 'force' option should be used
when the brick already contains volinfo id.

Problem: On doing a disk-replacement of a brick in a replicate volume
the following 2 scenarios may occur :

a) there is a chance that reads are served from this replaced-disk brick,
which leads to empty reads. b) potential data loss if next writes succeed
only on replaced brick, and heal is done to other bricks from this one.

Solution: After disk-replacement, make sure that reset-brick command is
run for that brick so that pending markers are set for the brick and it
is not chosen as source for reads and heal. But, as of now replace-brick
for the same brick-path is not allowed. In order to fix the above
mentioned problem, same brick-path replace-brick is needed.
With this patch reset-brick commit {force} will be allowed even when
source and destination &lt;hostname:brickpath&gt; are identical as long as
1) destination brick is not alive
2) source and destination brick have the same brick uuid and path.
Also, the destination brick after replace-brick will use the same port
as the source brick.

Change-Id: I440b9e892ffb781ea4b8563688c3f85c7a7c89de
BUG: 1266876
Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12250
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The command basically allows replace brick with src and
dst bricks as same.

Usage:
gluster v reset-brick &lt;volname&gt; &lt;hostname:brick-path&gt; start
This command kills the brick to be reset. Once this command is run,
admin can do other manual operations that they need to do,
like configuring some options for the brick. Once this is done,
resetting the brick can be continued with the following options.

gluster v reset-brick &lt;vname&gt; &lt;hostname:brick&gt; &lt;hostname:brick&gt; commit {force}

Does the job of resetting the brick. 'force' option should be used
when the brick already contains volinfo id.

Problem: On doing a disk-replacement of a brick in a replicate volume
the following 2 scenarios may occur :

a) there is a chance that reads are served from this replaced-disk brick,
which leads to empty reads. b) potential data loss if next writes succeed
only on replaced brick, and heal is done to other bricks from this one.

Solution: After disk-replacement, make sure that reset-brick command is
run for that brick so that pending markers are set for the brick and it
is not chosen as source for reads and heal. But, as of now replace-brick
for the same brick-path is not allowed. In order to fix the above
mentioned problem, same brick-path replace-brick is needed.
With this patch reset-brick commit {force} will be allowed even when
source and destination &lt;hostname:brickpath&gt; are identical as long as
1) destination brick is not alive
2) source and destination brick have the same brick uuid and path.
Also, the destination brick after replace-brick will use the same port
as the source brick.

Change-Id: I440b9e892ffb781ea4b8563688c3f85c7a7c89de
BUG: 1266876
Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12250
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glfsheal: print brick name and path even when brick is down</title>
<updated>2016-08-12T06:25:30+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2016-08-11T10:10:25+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=5ef32c57f327e1dd4e9d227b9c8fd4b6f6fb4970'/>
<id>5ef32c57f327e1dd4e9d227b9c8fd4b6f6fb4970</id>
<content type='text'>
The xml variant of heal info command does not display brick name when
the brick is down due to a failure to fetch the hostUUID. But the non
xml variant does. So fixed the xml variant to print the remote_host
and remote_subvol even when the brick is down.

Change-Id: I16347eb4455b9bcc7a9b0127f8783140b6016578
BUG: 1366222
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15146
Reviewed-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster 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>
The xml variant of heal info command does not display brick name when
the brick is down due to a failure to fetch the hostUUID. But the non
xml variant does. So fixed the xml variant to print the remote_host
and remote_subvol even when the brick is down.

Change-Id: I16347eb4455b9bcc7a9b0127f8783140b6016578
BUG: 1366222
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15146
Reviewed-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>heal/xml : xml implementation of heal info and splitbrain info</title>
<updated>2016-05-08T12:19:50+00:00</updated>
<author>
<name>hari gowtham</name>
<email>hgowtham@redhat.com</email>
</author>
<published>2016-04-28T06:18:23+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=f0ade919006b2581ae192f997a8ae5bacc2892af'/>
<id>f0ade919006b2581ae192f997a8ae5bacc2892af</id>
<content type='text'>
Current output:
heal didn't have xml output.

expected output with patch:
gluster v heal v1 info --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;healInfo&gt;
    &lt;bricks&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b1&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b2&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
    &lt;/bricks&gt;
  &lt;/healInfo&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
&lt;/cliOutput&gt;

gluster v heal v1 info split-brain --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;healInfo&gt;
    &lt;bricks&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b1&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b2&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
    &lt;/bricks&gt;
  &lt;/healInfo&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
&lt;/cliOutput&gt;

Change-Id: I20ad5eb7950d4721364ab46089e3af515162db82
BUG: 1331287
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14100
Reviewed-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Tested-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Current output:
heal didn't have xml output.

expected output with patch:
gluster v heal v1 info --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;healInfo&gt;
    &lt;bricks&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b1&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b2&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
    &lt;/bricks&gt;
  &lt;/healInfo&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
&lt;/cliOutput&gt;

gluster v heal v1 info split-brain --xml
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;cliOutput&gt;
  &lt;healInfo&gt;
    &lt;bricks&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b1&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
      &lt;brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c"&gt;
        &lt;name&gt;10.70.42.183:/home/bricks/b2&lt;/name&gt;
        &lt;status&gt;Connected&lt;/status&gt;
        &lt;numberOfEntries&gt;0&lt;/numberOfEntries&gt;
      &lt;/brick&gt;
    &lt;/bricks&gt;
  &lt;/healInfo&gt;
  &lt;opRet&gt;0&lt;/opRet&gt;
  &lt;opErrno&gt;0&lt;/opErrno&gt;
  &lt;opErrstr/&gt;
&lt;/cliOutput&gt;

Change-Id: I20ad5eb7950d4721364ab46089e3af515162db82
BUG: 1331287
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14100
Reviewed-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Tested-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>heal: Fix incorrect heal info output</title>
<updated>2016-05-05T01:46:23+00:00</updated>
<author>
<name>Anuradha Talur</name>
<email>atalur@redhat.com</email>
</author>
<published>2016-05-04T06:25:43+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=2326f8c2a775f6536d95e2e4676866f1b5dfc368'/>
<id>2326f8c2a775f6536d95e2e4676866f1b5dfc368</id>
<content type='text'>
Problem:
In heterogenous clusters, heal info gives incorrect
outout as "Failed to process entries completely.
Number of entries so far: 0".

This happens when the getxattr on virtual xattr
for &lt;brickpath&gt;/.glusterfs/indices/dirty fails
on older bricks as they do not recognize the xattr.

Fix:
Ignore that error so that heal info doesn't
incorrectly report failure.

Change-Id: I0d3541ed0594d67c3c3b8568a89a975a100bf6dd
BUG: 1332798
Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14199
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
In heterogenous clusters, heal info gives incorrect
outout as "Failed to process entries completely.
Number of entries so far: 0".

This happens when the getxattr on virtual xattr
for &lt;brickpath&gt;/.glusterfs/indices/dirty fails
on older bricks as they do not recognize the xattr.

Fix:
Ignore that error so that heal info doesn't
incorrectly report failure.

Change-Id: I0d3541ed0594d67c3c3b8568a89a975a100bf6dd
BUG: 1332798
Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14199
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Tested-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>afr: add mtime based split-brain resolution to CLI</title>
<updated>2016-03-29T19:08:35+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2016-03-25T13:18:30+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=08d18ef9257067fac510af408665360019566000'/>
<id>08d18ef9257067fac510af408665360019566000</id>
<content type='text'>
Extended the CLI to include support for split-brain resolution based on
mtime. The command syntax is:

$:gluster volume heal &lt;VOLNAME&gt; split-brain latest-mtime &lt;FILE&gt;

where &lt;FILE&gt; can be either the full file name as seen from the root of the
volume (or) the gfid-string representation of the file.

Change-Id: I7a16f72ff1a4495aa69f43f22758a9404e958b4f
BUG: 1321322
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13828
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extended the CLI to include support for split-brain resolution based on
mtime. The command syntax is:

$:gluster volume heal &lt;VOLNAME&gt; split-brain latest-mtime &lt;FILE&gt;

where &lt;FILE&gt; can be either the full file name as seen from the root of the
volume (or) the gfid-string representation of the file.

Change-Id: I7a16f72ff1a4495aa69f43f22758a9404e958b4f
BUG: 1321322
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13828
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
