<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git, branch v3.11.3</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>doc: Minor edit to release notes for 3.11.3</title>
<updated>2017-08-21T14:41:10+00:00</updated>
<author>
<name>ShyamsundarR</name>
<email>srangana@redhat.com</email>
</author>
<published>2017-08-21T14:17:00+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=dd281c7c154ded8210696d41d28bd19a96d79465'/>
<id>dd281c7c154ded8210696d41d28bd19a96d79465</id>
<content type='text'>
Change-Id: Ib1f4bac62fdd01b3e5e97582b5464b14c1fb9a8e
BUG: 1473776
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18079
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ib1f4bac62fdd01b3e5e97582b5464b14c1fb9a8e
BUG: 1473776
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18079
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: Release 3.11.3 release notes updated</title>
<updated>2017-08-21T14:10:10+00:00</updated>
<author>
<name>ShyamsundarR</name>
<email>srangana@redhat.com</email>
</author>
<published>2017-08-21T13:58:29+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=4fe845d41f45045947c7ef6817bf0b5d0d3fe074'/>
<id>4fe845d41f45045947c7ef6817bf0b5d0d3fe074</id>
<content type='text'>
Change-Id: Ic0d25caf797c73d1522b90579e8cd62efc8ae647
BUG: 1473776
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18078
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ic0d25caf797c73d1522b90579e8cd62efc8ae647
BUG: 1473776
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18078
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>storage/posix: Use the ret value of posix_gfid_heal()</title>
<updated>2017-08-12T13:43:07+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2017-07-19T10:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=884a1be3aaebbe6dfaaab343452f937bfa92cb99'/>
<id>884a1be3aaebbe6dfaaab343452f937bfa92cb99</id>
<content type='text'>
... to make the change in commit acf8cfdf truly useful.

Without this, a race between entry creation fops and lookup
at posix layer can cause lookups to fail with ENODATA, as
opposed to ENOENT.

Backport of:
&gt; Change-Id: I44a226872283a25f1f4812f03f68921c5eb335bb
&gt; Reviewed-on: https://review.gluster.org/17821
&gt; BUG: 1472758
&gt; cherry-picked from 669868d23eaeba42809fca7be134137c607d64ed

Change-Id: I44a226872283a25f1f4812f03f68921c5eb335bb
BUG: 1479692
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18009
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... to make the change in commit acf8cfdf truly useful.

Without this, a race between entry creation fops and lookup
at posix layer can cause lookups to fail with ENODATA, as
opposed to ENOENT.

Backport of:
&gt; Change-Id: I44a226872283a25f1f4812f03f68921c5eb335bb
&gt; Reviewed-on: https://review.gluster.org/17821
&gt; BUG: 1472758
&gt; cherry-picked from 669868d23eaeba42809fca7be134137c607d64ed

Change-Id: I44a226872283a25f1f4812f03f68921c5eb335bb
BUG: 1479692
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18009
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfapi: Duplicate the buffer sent in setxattr calls</title>
<updated>2017-08-12T13:42:27+00:00</updated>
<author>
<name>Poornima G</name>
<email>pgurusid@redhat.com</email>
</author>
<published>2017-08-03T12:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=3fe535afa61fa06c066e511c3c6e269902924296'/>
<id>3fe535afa61fa06c066e511c3c6e269902924296</id>
<content type='text'>
Issue:
The caller of glfs_setxattr sends a buffer to set as the value.
We create a dict in which the pointer to the value is set.
Underlying layers like md-cache take a ref on this dict to store
the value for a longer time. But the moment setxattr is complete,
the caller of glfs_setxattr can free the value memory.

Solution:
memcpy the setxattr value to the gluster buffer.

&gt; Reviewed-on: https://review.gluster.org/17967
&gt; Reviewed-by: soumya k &lt;skoduri@redhat.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Jeff Darcy &lt;jeff@pl.atyp.us&gt;
&gt; (cherry picked from commit e11296f8e52b7e3b13d21b41d4fa34baea878edf)

Change-Id: I58753fe702e8b7d0f6c4f058714c65d0ad5d7a0a
BUG: 1479656
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18002
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue:
The caller of glfs_setxattr sends a buffer to set as the value.
We create a dict in which the pointer to the value is set.
Underlying layers like md-cache take a ref on this dict to store
the value for a longer time. But the moment setxattr is complete,
the caller of glfs_setxattr can free the value memory.

Solution:
memcpy the setxattr value to the gluster buffer.

&gt; Reviewed-on: https://review.gluster.org/17967
&gt; Reviewed-by: soumya k &lt;skoduri@redhat.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Jeff Darcy &lt;jeff@pl.atyp.us&gt;
&gt; (cherry picked from commit e11296f8e52b7e3b13d21b41d4fa34baea878edf)

Change-Id: I58753fe702e8b7d0f6c4f058714c65d0ad5d7a0a
BUG: 1479656
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18002
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>packaging: /var/lib/glusterd/options should be %config(noreplace)</title>
<updated>2017-08-12T13:40:33+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2017-07-31T16:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=0b099fc4b38edd9d6af187bbee23af29a874b640'/>
<id>0b099fc4b38edd9d6af187bbee23af29a874b640</id>
<content type='text'>
/var/lib/glusterd/options is where cluster.enabled-shared-storage is
persisted. If the file is removed as part of an uninstall/reinstall
or update then the state of shared storage could be lost.

Change-Id: Ie18c3d883df71c1857fd6996d9c03ab247580b70
BUG: 1476873
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17934
Smoke: Gluster 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>
/var/lib/glusterd/options is where cluster.enabled-shared-storage is
persisted. If the file is removed as part of an uninstall/reinstall
or update then the state of shared storage could be lost.

Change-Id: Ie18c3d883df71c1857fd6996d9c03ab247580b70
BUG: 1476873
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17934
Smoke: Gluster 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>scripts: invalid test(1) in extras/S32gluster_enable_shared_storage.sh</title>
<updated>2017-08-12T13:40:26+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2017-07-31T14:27:45+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=d42af66b39b9ce2a02839479d3e95225edaf718a'/>
<id>d42af66b39b9ce2a02839479d3e95225edaf718a</id>
<content type='text'>
test(1) man pages says -eq is for INTEGER compares, and = is for
string compares.

Also note the comment that -a and -o are ambiguous and to use
test &amp;&amp; test or test || test instead.

This bug has existed since 2015! (yikes)

Found while testing localtime logging and running glusterd in the
foreground.

Change-Id: Ia544f7295e247b981504d085ebc4c533ab60ba84
BUG: 1476822
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17927
Smoke: Gluster 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>
test(1) man pages says -eq is for INTEGER compares, and = is for
string compares.

Also note the comment that -a and -o are ambiguous and to use
test &amp;&amp; test or test || test instead.

This bug has existed since 2015! (yikes)

Found while testing localtime logging and running glusterd in the
foreground.

Change-Id: Ia544f7295e247b981504d085ebc4c533ab60ba84
BUG: 1476822
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17927
Smoke: Gluster 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>ec/cluster: Update failure of fop on a brick properly</title>
<updated>2017-08-12T13:39:48+00:00</updated>
<author>
<name>Ashish Pandey</name>
<email>aspandey@redhat.com</email>
</author>
<published>2017-07-28T09:48:29+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=49ac61ae11508a16a56534a656d77be47f3fe6b8'/>
<id>49ac61ae11508a16a56534a656d77be47f3fe6b8</id>
<content type='text'>
Problem:
In case of truncate, if writev or open fails on a brick,
in some cases it does not mark the failure onlock-&gt;good_mask.
This causes the update of size and version on all the bricks
even if it has failed on one of the brick. That ultimately
causes a data corruption.

Solution:
In callback of such writev and open calls, mark fop-&gt;good
for parent too.

Thanks Pranith Kumar K &lt;pkarampu@redhat.com&gt; for finding the
root cause.

&gt;Change-Id: I8a1da2888bff53b91a0d362b8c44fcdf658e7466
&gt;BUG: 1476205
&gt;Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
&gt;Reviewed-on: https://review.gluster.org/17906
&gt;Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
&gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;

Change-Id: I8a1da2888bff53b91a0d362b8c44fcdf658e7466
BUG: 1476870
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17933
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&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>
Problem:
In case of truncate, if writev or open fails on a brick,
in some cases it does not mark the failure onlock-&gt;good_mask.
This causes the update of size and version on all the bricks
even if it has failed on one of the brick. That ultimately
causes a data corruption.

Solution:
In callback of such writev and open calls, mark fop-&gt;good
for parent too.

Thanks Pranith Kumar K &lt;pkarampu@redhat.com&gt; for finding the
root cause.

&gt;Change-Id: I8a1da2888bff53b91a0d362b8c44fcdf658e7466
&gt;BUG: 1476205
&gt;Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
&gt;Reviewed-on: https://review.gluster.org/17906
&gt;Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
&gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;

Change-Id: I8a1da2888bff53b91a0d362b8c44fcdf658e7466
BUG: 1476870
Signed-off-by: Ashish Pandey &lt;aspandey@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17933
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>performance/io-cache: update inode contexts of each entry in readdirplus</title>
<updated>2017-07-31T14:11:16+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2013-05-17T07:22:32+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=9d8841f96afd351624f5c805321053842405b038'/>
<id>9d8841f96afd351624f5c805321053842405b038</id>
<content type='text'>
io-cache stores read-cache in inode which is currently created only in
lookup. But, with readdirplus and md-cache absorbing lookups, io-cache
need not receive a lookup before a fop like readv.

&gt;Change-Id: I6eba995b0a90d4d5055a4aef0489707b852da1b8
&gt;BUG: 1474180
&gt;Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
&gt;Signed-off-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
&gt;Reviewed-on: https://review.gluster.org/5029
&gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;

(cherry picked from commit b90e12134af85635199750967c326761d6c06e86)
Change-Id: I6eba995b0a90d4d5055a4aef0489707b852da1b8
BUG: 1475637
Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Signed-off-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17890
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
io-cache stores read-cache in inode which is currently created only in
lookup. But, with readdirplus and md-cache absorbing lookups, io-cache
need not receive a lookup before a fop like readv.

&gt;Change-Id: I6eba995b0a90d4d5055a4aef0489707b852da1b8
&gt;BUG: 1474180
&gt;Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
&gt;Signed-off-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
&gt;Reviewed-on: https://review.gluster.org/5029
&gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;

(cherry picked from commit b90e12134af85635199750967c326761d6c06e86)
Change-Id: I6eba995b0a90d4d5055a4aef0489707b852da1b8
BUG: 1475637
Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Signed-off-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17890
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: Added release notes for 3.11.2 release</title>
<updated>2017-07-21T15:37:46+00:00</updated>
<author>
<name>Shyam</name>
<email>srangana@redhat.com</email>
</author>
<published>2017-07-21T15:16:08+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b8659b3f2ca2aa31e5ce2d5cb61051954d81e718'/>
<id>b8659b3f2ca2aa31e5ce2d5cb61051954d81e718</id>
<content type='text'>
Change-Id: I03f20ace01a29cf8c22538adf4c11bddd343bc0e
BUG: 1466024
Signed-off-by: Shyam &lt;srangana@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17852
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I03f20ace01a29cf8c22538adf4c11bddd343bc0e
BUG: 1466024
Signed-off-by: Shyam &lt;srangana@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17852
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs/nlm: keep track of the call-state and frame for notifications</title>
<updated>2017-07-21T15:03:29+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2017-07-17T14:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=bec1c177d7fccaa6dbe353cb06064256bc997895'/>
<id>bec1c177d7fccaa6dbe353cb06064256bc997895</id>
<content type='text'>
When blocking locks are used, a new frame is allocated that is used to
send the notification to the client once once the lock becomes
available. In all other cases, the frame that contains the request from
the client will be used for the reply.

Because there was no way to track the different clients with their
requests (captured in the call-state), the call-state could be free'd
before the notification was sent to the client. This caused a
use-after-free of the call-state and could trigger segfaults of the
Gluster/NFS server or incorrect replies on (un)lock requests.

By introducing a nlm4_notify_args structure, the call-state and frame
can be tracked better. This prevents the possibility of segfaulting when
the call-state is used after being free'd.

Cherry picked from commit b81997264f079983fa02bd5fa2b3715224942b00:
&gt; BUG: 1467313
&gt; Change-Id: I285d2bc552f509e5145653b7a50afcff827cd612
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: https://review.gluster.org/17700
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;

Change-Id: I285d2bc552f509e5145653b7a50afcff827cd612
BUG: 1471869
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17801
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When blocking locks are used, a new frame is allocated that is used to
send the notification to the client once once the lock becomes
available. In all other cases, the frame that contains the request from
the client will be used for the reply.

Because there was no way to track the different clients with their
requests (captured in the call-state), the call-state could be free'd
before the notification was sent to the client. This caused a
use-after-free of the call-state and could trigger segfaults of the
Gluster/NFS server or incorrect replies on (un)lock requests.

By introducing a nlm4_notify_args structure, the call-state and frame
can be tracked better. This prevents the possibility of segfaulting when
the call-state is used after being free'd.

Cherry picked from commit b81997264f079983fa02bd5fa2b3715224942b00:
&gt; BUG: 1467313
&gt; Change-Id: I285d2bc552f509e5145653b7a50afcff827cd612
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: https://review.gluster.org/17700
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;

Change-Id: I285d2bc552f509e5145653b7a50afcff827cd612
BUG: 1471869
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17801
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
