<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators, branch v3.7.13</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>glusterd: compare uuid instead of hostname address resolution</title>
<updated>2016-07-07T09:33:41+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-07-03T10:21:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c93839ed1b4d10e492a6e0aacb19e42c761d4bf3'/>
<id>c93839ed1b4d10e492a6e0aacb19e42c761d4bf3</id>
<content type='text'>
Backport of http://review.gluster.org/14849

In glusterd_get_brickinfo () brick's hostname is address resolved. This adds an
unnecessary latency since it uses calls like getaddrinfo (). Instead given the
local brick's uuid is already known a comparison of MY_UUID and brickinfo-&gt;uuid
is much more light weight than the previous approach.

On a scale testing where cluster hosting ~400 volumes spanning across 4 nodes,
if a node goes for a reboot, few of the bricks don't come up. After few days of
analysis its found that glusterd_pmap_sigin () was taking signficant amount of
latency and further code walthrough revealed this unnecessary address
resolution. Applying this fix solves the issue and now all the brick processes
come up on a node reboot.

Change-Id: I299b8660ce0da6f3f739354f5c637bc356d82133
BUG: 1352833
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14849
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: Prashanth Pai &lt;ppai@redhat.com&gt;
Reviewed-by: Samikshan Bairagya &lt;samikshan@gmail.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14861
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/14849

In glusterd_get_brickinfo () brick's hostname is address resolved. This adds an
unnecessary latency since it uses calls like getaddrinfo (). Instead given the
local brick's uuid is already known a comparison of MY_UUID and brickinfo-&gt;uuid
is much more light weight than the previous approach.

On a scale testing where cluster hosting ~400 volumes spanning across 4 nodes,
if a node goes for a reboot, few of the bricks don't come up. After few days of
analysis its found that glusterd_pmap_sigin () was taking signficant amount of
latency and further code walthrough revealed this unnecessary address
resolution. Applying this fix solves the issue and now all the brick processes
come up on a node reboot.

Change-Id: I299b8660ce0da6f3f739354f5c637bc356d82133
BUG: 1352833
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14849
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: Prashanth Pai &lt;ppai@redhat.com&gt;
Reviewed-by: Samikshan Bairagya &lt;samikshan@gmail.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14861
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: fail volume delete if one of the node is down</title>
<updated>2016-07-04T11:49:18+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2016-06-09T12:52:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1a21cfba8e7a5f4ac1b8a8c3b8e06574b237420d'/>
<id>1a21cfba8e7a5f4ac1b8a8c3b8e06574b237420d</id>
<content type='text'>
Backport of http://review.gluster.org/14681

Deleting a volume on a cluster where one of the node in the cluster is down is
buggy since once that node comes back the resync of the same volume will happen.
Till we bring in the soft delete feature tracked in
http://review.gluster.org/12963 this is a safe guard to block the volume
deletion.

Please note the test file which is backported from this commit has an issue
where we start the volume and then try to delete it which is anyway going to
fail. So the test actually doesn't validate the fix.
http://review.gluster.org/#/c/14693/ in master fixed the problem and the same is
ported as part of this commit as well.

Change-Id: I9c13869c4a7e7a947f88842c6dc6f231c0eeda6c
BUG: 1344634
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14681
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-on: http://review.gluster.org/14692
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Prashanth Pai &lt;ppai@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/14681

Deleting a volume on a cluster where one of the node in the cluster is down is
buggy since once that node comes back the resync of the same volume will happen.
Till we bring in the soft delete feature tracked in
http://review.gluster.org/12963 this is a safe guard to block the volume
deletion.

Please note the test file which is backported from this commit has an issue
where we start the volume and then try to delete it which is anyway going to
fail. So the test actually doesn't validate the fix.
http://review.gluster.org/#/c/14693/ in master fixed the problem and the same is
ported as part of this commit as well.

Change-Id: I9c13869c4a7e7a947f88842c6dc6f231c0eeda6c
BUG: 1344634
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14681
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-on: http://review.gluster.org/14692
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Prashanth Pai &lt;ppai@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fuse: accept the -s option to allow automounting</title>
<updated>2016-07-03T11:17:23+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2016-05-30T19:01:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3aed8bbefe0078eca80dd3a53f005e7a94281424'/>
<id>3aed8bbefe0078eca80dd3a53f005e7a94281424</id>
<content type='text'>
autofs passes the -s option when mounting. All /sbin/mount.&lt;fs&gt; helpers
accept this, except mount.glusterfs. Because the helper fails when -s is
passed accessing the mountpoint through autofs gives the following
error:

  $ ls /lan/storage.lan.example.net/repos
  ls: cannot open directory /lan/storage.lan.example.net/repos: Too many levels of symbolic links

Cherry picked from commit c8da5669a15ed6944cceb9d003789ff333754bff:
&gt; BUG: 1340936
&gt; Change-Id: I84755cdac59e630618cb745c0eb3228cc1e93a1a
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/14559
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Oleksandr Natalenko &lt;oleksandr@natalenko.name&gt;

Change-Id: I84755cdac59e630618cb745c0eb3228cc1e93a1a
BUG: 1344551
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Tested-by: Kaveh Minooie &lt;kminooie@gmail.com&gt;
Reviewed-on: http://review.gluster.org/14686
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Oleksandr Natalenko &lt;oleksandr@natalenko.name&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>
autofs passes the -s option when mounting. All /sbin/mount.&lt;fs&gt; helpers
accept this, except mount.glusterfs. Because the helper fails when -s is
passed accessing the mountpoint through autofs gives the following
error:

  $ ls /lan/storage.lan.example.net/repos
  ls: cannot open directory /lan/storage.lan.example.net/repos: Too many levels of symbolic links

Cherry picked from commit c8da5669a15ed6944cceb9d003789ff333754bff:
&gt; BUG: 1340936
&gt; Change-Id: I84755cdac59e630618cb745c0eb3228cc1e93a1a
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/14559
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Oleksandr Natalenko &lt;oleksandr@natalenko.name&gt;

Change-Id: I84755cdac59e630618cb745c0eb3228cc1e93a1a
BUG: 1344551
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Tested-by: Kaveh Minooie &lt;kminooie@gmail.com&gt;
Reviewed-on: http://review.gluster.org/14686
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Oleksandr Natalenko &lt;oleksandr@natalenko.name&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>nfs: build exportlist with multiple groupnodes</title>
<updated>2016-07-03T11:15:35+00:00</updated>
<author>
<name>Bipin Kunal</name>
<email>bkunal@redhat.com</email>
</author>
<published>2016-06-10T11:33:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=6a1559ff8057e5c2a992a990cfb630932e6928d2'/>
<id>6a1559ff8057e5c2a992a990cfb630932e6928d2</id>
<content type='text'>
The EXPORT procedure of the MOUNT protocol does not correctly create
structures for the 'groupnodes' in the reply. Each 'groupnode' should be
a single entry in the 'nfs.rpc-auth-allow' volume option. Because the
value is handled as a single string, the encoding of the
groupnode-&gt;gr_name fails when the value of the volume option is longer
than 255 characters.

In the error case, encoding the EXPORTS reply fails, and the waiting
'showmount' command will not receive a reply and times out.

Splitting the allowed entries and creating a groupnode for each one
prevents the too long -&gt;gr_name. This is following the structures for
the EXPORTS reply in the MOUNT protocol more correctly as well. Note
that the contents of -&gt;gr_name is expected to be server dependent.

This is backport of below mainline fix -
	http://review.gluster.org/#/c/14667/

Change-Id: Ibbabad581cc9aa00feb80fbbc851a1b10b28383d
BUG: 1343290
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Signed-off-by: Bipin Kunal &lt;bkunal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14698
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;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The EXPORT procedure of the MOUNT protocol does not correctly create
structures for the 'groupnodes' in the reply. Each 'groupnode' should be
a single entry in the 'nfs.rpc-auth-allow' volume option. Because the
value is handled as a single string, the encoding of the
groupnode-&gt;gr_name fails when the value of the volume option is longer
than 255 characters.

In the error case, encoding the EXPORTS reply fails, and the waiting
'showmount' command will not receive a reply and times out.

Splitting the allowed entries and creating a groupnode for each one
prevents the too long -&gt;gr_name. This is following the structures for
the EXPORTS reply in the MOUNT protocol more correctly as well. Note
that the contents of -&gt;gr_name is expected to be server dependent.

This is backport of below mainline fix -
	http://review.gluster.org/#/c/14667/

Change-Id: Ibbabad581cc9aa00feb80fbbc851a1b10b28383d
BUG: 1343290
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Signed-off-by: Bipin Kunal &lt;bkunal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14698
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>feature/gfid-access: Fix nameless lookup on ".gfid"</title>
<updated>2016-07-01T13:30:21+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2016-06-22T07:35:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2687bc68a5f91e8f940a8eef1b47052736116556'/>
<id>2687bc68a5f91e8f940a8eef1b47052736116556</id>
<content type='text'>
Backport of http://review.gluster.org/14773

Problem:
In geo-replication, if the data copied from .snaps
directory to the master, the first set of copy after
uss is enabled doesn't get sync to slave.

Cause:
Enabling uss results in graph switch. So when the
lookup comes on "0x00...0d/gfid1" on new graph,
("0x00...0d' being the gfid of virtual directory
 ".gfid"), it fails as gfid-access xlator doesn't
handle it.

Fix:
Handle nameless lookup on ".gfid" in gfid-access
xlator.

Change-Id: I32be0064e8fd58068646dbf662432f4a3da14e77
BUG: 1349271
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit b37c6d9088851b2ef83ce4e28af642892e5fd268)
Reviewed-on: http://review.gluster.org/14775
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: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/14773

Problem:
In geo-replication, if the data copied from .snaps
directory to the master, the first set of copy after
uss is enabled doesn't get sync to slave.

Cause:
Enabling uss results in graph switch. So when the
lookup comes on "0x00...0d/gfid1" on new graph,
("0x00...0d' being the gfid of virtual directory
 ".gfid"), it fails as gfid-access xlator doesn't
handle it.

Fix:
Handle nameless lookup on ".gfid" in gfid-access
xlator.

Change-Id: I32be0064e8fd58068646dbf662432f4a3da14e77
BUG: 1349271
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit b37c6d9088851b2ef83ce4e28af642892e5fd268)
Reviewed-on: http://review.gluster.org/14775
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: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Implement API that provides page-aligned iobufs</title>
<updated>2016-06-30T04:37:08+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2016-06-07T10:57:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=af1ab7266edf91216e27484c505c78401f092e13'/>
<id>af1ab7266edf91216e27484c505c78401f092e13</id>
<content type='text'>
        Backport of: http://review.gluster.org/14672

One of the consumers of a page aligned buffer would be posix's
readv fop on O_DIRECT fds. Today the way it works is by getting
a page-aligned buffer through calloc, pread()ing into this buffer
and then copying its contents into a newly created iobuf's ptr.
This results in an extra memcpy() which can be avoided if we could
implement an api that would return an iobuf whose ptr is
page-aligned. That way the iobuf-&gt;ptr can be directly passed to
sys_pread() as a parameter by posix translator.

Change-Id: Ie44c300dc773fef8e1669d609987d47dbd340ac2
BUG: 1351024
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14826
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: Zhou Zhengping &lt;johnzzpcrystal@gmail.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>
        Backport of: http://review.gluster.org/14672

One of the consumers of a page aligned buffer would be posix's
readv fop on O_DIRECT fds. Today the way it works is by getting
a page-aligned buffer through calloc, pread()ing into this buffer
and then copying its contents into a newly created iobuf's ptr.
This results in an extra memcpy() which can be avoided if we could
implement an api that would return an iobuf whose ptr is
page-aligned. That way the iobuf-&gt;ptr can be directly passed to
sys_pread() as a parameter by posix translator.

Change-Id: Ie44c300dc773fef8e1669d609987d47dbd340ac2
BUG: 1351024
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14826
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: Zhou Zhengping &lt;johnzzpcrystal@gmail.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: Filter -D_FORTIFY_SOURCE from CFLAGS</title>
<updated>2016-06-29T16:54:02+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2016-05-14T17:23:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f9a6eba4e0b31247116256545b3c12e1df88c0de'/>
<id>f9a6eba4e0b31247116256545b3c12e1df88c0de</id>
<content type='text'>
We use python-config to get recommended CFLAGS. It provides
-D_FORTIFY_SOURCE=2 by default that conflicts with our
--enable-debug option or a developer provided no-optimization option.
Hence, filter it out from default CFLAGS.

Cherry picked from commit 5e65701f2660d1be101da81bffea7721d4f9ece0:
&gt; Change-Id: Id80196baeb55415b1ea334e7b17143e56dfbadb3
&gt; BUG: 1283948
&gt; Co-authored-by: Kaleb S KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Signed-off-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/12707
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;

Change-Id: Id80196baeb55415b1ea334e7b17143e56dfbadb3
BUG: 1336137
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14339
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Anoop C S &lt;anoopcs@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: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We use python-config to get recommended CFLAGS. It provides
-D_FORTIFY_SOURCE=2 by default that conflicts with our
--enable-debug option or a developer provided no-optimization option.
Hence, filter it out from default CFLAGS.

Cherry picked from commit 5e65701f2660d1be101da81bffea7721d4f9ece0:
&gt; Change-Id: Id80196baeb55415b1ea334e7b17143e56dfbadb3
&gt; BUG: 1283948
&gt; Co-authored-by: Kaleb S KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Signed-off-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/12707
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;

Change-Id: Id80196baeb55415b1ea334e7b17143e56dfbadb3
BUG: 1336137
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14339
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Anoop C S &lt;anoopcs@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: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>afr:Don't wind reads for files in metadata split-brain</title>
<updated>2016-06-27T07:13:36+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2016-02-05T09:40:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e4ea25e9eea0f7259c11333f7a75049f3dccb7a7'/>
<id>e4ea25e9eea0f7259c11333f7a75049f3dccb7a7</id>
<content type='text'>
Backport of http://review.gluster.org/#/c/13389/

Problem: For a read on  a file in metadata split-brain:
1.lookup_done resets event_generation to zero.
2. readv is issued, goes to inode refresh due to mismatching event_gen.
3. After refresh is successful, we update event_generation, data and
metdata readable.
3. We then call afr_read_txn_refresh_done() which in turn calls
afr_inode_get_readable() but doesn't check for EIO. So afr_readv_wind
is called with local-&gt;readable (which is populated with data_readable),
thus winding the read to a brick.
4. Also, further parallel reads that come directly go to the wind path
because there is no inode_refresh needed.

Fix:
1.For any afr_read_txn(), readable must be an intersection of data and metadata
readable.
2.Check for EIO in afr_read_txn_refresh_done().

Change-Id: I22dd221fdfaf96d7aced2f474e28ed1337d69f0e
BUG: 1349881
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
(cherry picked from commit 7a1c1e2904701496968ed14b6d7479fb706c3188)
Reviewed-on: http://review.gluster.org/14791
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: 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>
Backport of http://review.gluster.org/#/c/13389/

Problem: For a read on  a file in metadata split-brain:
1.lookup_done resets event_generation to zero.
2. readv is issued, goes to inode refresh due to mismatching event_gen.
3. After refresh is successful, we update event_generation, data and
metdata readable.
3. We then call afr_read_txn_refresh_done() which in turn calls
afr_inode_get_readable() but doesn't check for EIO. So afr_readv_wind
is called with local-&gt;readable (which is populated with data_readable),
thus winding the read to a brick.
4. Also, further parallel reads that come directly go to the wind path
because there is no inode_refresh needed.

Fix:
1.For any afr_read_txn(), readable must be an intersection of data and metadata
readable.
2.Check for EIO in afr_read_txn_refresh_done().

Change-Id: I22dd221fdfaf96d7aced2f474e28ed1337d69f0e
BUG: 1349881
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
(cherry picked from commit 7a1c1e2904701496968ed14b6d7479fb706c3188)
Reviewed-on: http://review.gluster.org/14791
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: 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>cluster/dht: Fix unsafe iteration on inode-&gt;fd_list</title>
<updated>2016-06-24T10:20:05+00:00</updated>
<author>
<name>Xavier Hernandez</name>
<email>xhernandez@datalab.es</email>
</author>
<published>2016-06-09T14:53:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=ed16cfb0455e41ee39addf6b3cdacdbe0d98308a'/>
<id>ed16cfb0455e41ee39addf6b3cdacdbe0d98308a</id>
<content type='text'>
When DHT traverses the inode-&gt;fd_list, it does that in an unsafe
way that can generate races with fd_unref() called from other threads.

This patch fixes this problem taking the inode-&gt;lock and adding a
reference to the fd while it's being used outside of the mutex
protected region.

A minor change in storage/posix has been done to also access the
inode-&gt;fd_list in a safe way.

Backport of:
&gt; Change-Id: I10d469ca6a8f76e950a8c9779ae9c8b70f88ef93
&gt; BUG: 1344340
&gt; Signed-off-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
&gt; Reviewed-on: http://review.gluster.org/14682
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;

Change-Id: I10d469ca6a8f76e950a8c9779ae9c8b70f88ef93
BUG: 1346751
Signed-off-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
Reviewed-on: http://review.gluster.org/14734
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: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When DHT traverses the inode-&gt;fd_list, it does that in an unsafe
way that can generate races with fd_unref() called from other threads.

This patch fixes this problem taking the inode-&gt;lock and adding a
reference to the fd while it's being used outside of the mutex
protected region.

A minor change in storage/posix has been done to also access the
inode-&gt;fd_list in a safe way.

Backport of:
&gt; Change-Id: I10d469ca6a8f76e950a8c9779ae9c8b70f88ef93
&gt; BUG: 1344340
&gt; Signed-off-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
&gt; Reviewed-on: http://review.gluster.org/14682
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;

Change-Id: I10d469ca6a8f76e950a8c9779ae9c8b70f88ef93
BUG: 1346751
Signed-off-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
Reviewed-on: http://review.gluster.org/14734
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: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>quota : rectify quota-deem-statfs default settings</title>
<updated>2016-06-24T10:19:59+00:00</updated>
<author>
<name>Manikandan Selvaganesh</name>
<email>mselvaga@redhat.com</email>
</author>
<published>2016-06-13T09:58:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8dddda654a60ed66792212b413fde113f4cf951f'/>
<id>8dddda654a60ed66792212b413fde113f4cf951f</id>
<content type='text'>
Backport of http://review.gluster.org/#/c/14708/

&gt; Change-Id: I75c47c4a0f0eb898b5e32efe7f0a6a558d7f8007
&gt; BUG: 1345846
&gt; Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/14708
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;

Change-Id: I75c47c4a0f0eb898b5e32efe7f0a6a558d7f8007
BUG: 1346184
Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14727
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/#/c/14708/

&gt; Change-Id: I75c47c4a0f0eb898b5e32efe7f0a6a558d7f8007
&gt; BUG: 1345846
&gt; Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/14708
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;

Change-Id: I75c47c4a0f0eb898b5e32efe7f0a6a558d7f8007
BUG: 1346184
Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14727
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
