<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators, branch v4.0.0rc0</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>protocol: utilize the version 4 xdr</title>
<updated>2018-02-01T11:41:00+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2018-01-18T05:01:38+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=4c74d7ffb61d5e1d747e60ee51937126edd6ba54'/>
<id>4c74d7ffb61d5e1d747e60ee51937126edd6ba54</id>
<content type='text'>
updates #384

Change-Id: Id80bf470988dbecc69779de9eb64088559cb1f6a
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
updates #384

Change-Id: Id80bf470988dbecc69779de9eb64088559cb1f6a
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: optimize glusterd import volumes code path</title>
<updated>2018-01-31T17:58:24+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2018-01-29T04:53:52+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=a32ff73c06e1e14589817b1701c1c8d0f05aaa04'/>
<id>a32ff73c06e1e14589817b1701c1c8d0f05aaa04</id>
<content type='text'>
In case there's a version mismatch detected for one of the volumes
glusterd was ending up with updating all the volumes which is a
overkill.

&gt;mainline patch : https://review.gluster.org/#/c/19358/

Change-Id: I6df792db391ce3a1697cfa9260f7dbc3f59aa62d
BUG: 1540554
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
(cherry picked from commit bb34b07fd2ec5e6c3eed4fe0cdf33479dbf5127b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case there's a version mismatch detected for one of the volumes
glusterd was ending up with updating all the volumes which is a
overkill.

&gt;mainline patch : https://review.gluster.org/#/c/19358/

Change-Id: I6df792db391ce3a1697cfa9260f7dbc3f59aa62d
BUG: 1540554
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
(cherry picked from commit bb34b07fd2ec5e6c3eed4fe0cdf33479dbf5127b)
</pre>
</div>
</content>
</entry>
<entry>
<title>core: remove experimental xlators and associated tests</title>
<updated>2018-01-31T17:50:48+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2017-01-20T16:11:46+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fe2f1c995371444a2695994a700c0a6287eadd20'/>
<id>fe2f1c995371444a2695994a700c0a6287eadd20</id>
<content type='text'>
experimental xlators removed from 4.0

&gt; Cherry picked from 4231c40973c60999f5ef759db450d25e129ef6ba:
&gt; Reviewed-on: https://review.gluster.org/17953
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;

Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
Change-Id: I34419ce22ca09b7626b8f9382c377a614fd9fed8
BUG: 1539842
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
experimental xlators removed from 4.0

&gt; Cherry picked from 4231c40973c60999f5ef759db450d25e129ef6ba:
&gt; Reviewed-on: https://review.gluster.org/17953
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;

Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
Change-Id: I34419ce22ca09b7626b8f9382c377a614fd9fed8
BUG: 1539842
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol: Remove lock recovery logic from client and server</title>
<updated>2018-01-31T04:55:37+00:00</updated>
<author>
<name>Anoop C S</name>
<email>anoopcs@redhat.com</email>
</author>
<published>2015-10-15T09:34:34+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=c0a0a7089553ab265a21e6c9712a05d67e1726af'/>
<id>c0a0a7089553ab265a21e6c9712a05d67e1726af</id>
<content type='text'>
Change-Id: I27f5e1e34fe3eac96c7dd88e90753fb5d3d14550
BUG: 1540438
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
(cherry picked from commit 3e78ea991b213422fc423ff94994e1eb295569c7)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I27f5e1e34fe3eac96c7dd88e90753fb5d3d14550
BUG: 1540438
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
(cherry picked from commit 3e78ea991b213422fc423ff94994e1eb295569c7)
</pre>
</div>
</content>
</entry>
<entry>
<title>dentry fop serializer: added new server side xlator for dentry fop serialization</title>
<updated>2018-01-30T18:36:01+00:00</updated>
<author>
<name>Sakshi Bansal</name>
<email>sabansal@redhat.com</email>
</author>
<published>2018-01-22T09:08:17+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=ea972d9f5c9b318429c228108c21a334b4acd95c'/>
<id>ea972d9f5c9b318429c228108c21a334b4acd95c</id>
<content type='text'>
Problems addressed by this xlator :

[1]. To prevent race between parallel mkdir,mkdir and lookup etc.

Fops like mkdir/create, lookup, rename, unlink, link that happen on a
particular dentry must be serialized to ensure atomicity.

Another possible case can be a fresh lookup to find existance of a path
whose gfid is not set yet. Further, storage/posix employs a ctime based
heuristic 'is_fresh_file' (interval time is less than 1 second of current
time) to check fresh-ness of file. With serialization of these two fops
(lookup &amp; mkdir), we eliminate the race altogether.

[2]. Staleness of dentries

This causes exponential increase in traversal time for any inode in the
subtree of the directory pointed by stale dentry.

Cause :  Stale dentry is created because of following two operations:

      a. dentry creation due to inode_link, done during operations like
         lookup, mkdir, create, mknod, symlink, create and
      b. dentry unlinking due to various operations like rmdir, rename,
         unlink.

       The reason is __inode_link uses __is_dentry_cyclic, which explores
       all possible path to avoid cyclic link formation during inode
       linkage. __is_dentry_cyclic explores stale-dentry(ies) and its
       all ancestors which is increases traversing time exponentially.

Implementation : To acheive this all fops on dentry must take entry locks
before they proceed, once they have acquired locks, they perform the fop
and then release the lock.

Some documentation from email conversation:
[1] http://www.gluster.org/pipermail/gluster-devel/2015-December/047314.html

[2] http://www.gluster.org/pipermail/gluster-devel/2015-August/046428.html

With this patch, the feature is optional, enable it by running:

 `gluster volume set $volname features.sdfs enable`

Also the feature is tested for a month without issues in the
experiemental branch for all the regression.

Change-Id: I6e80ba3cabfa6facd5dda63bd482b9bf18b6b79b
Fixes: #397
Signed-off-by: Sakshi Bansal &lt;sabansal@redhat.com&gt;
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problems addressed by this xlator :

[1]. To prevent race between parallel mkdir,mkdir and lookup etc.

Fops like mkdir/create, lookup, rename, unlink, link that happen on a
particular dentry must be serialized to ensure atomicity.

Another possible case can be a fresh lookup to find existance of a path
whose gfid is not set yet. Further, storage/posix employs a ctime based
heuristic 'is_fresh_file' (interval time is less than 1 second of current
time) to check fresh-ness of file. With serialization of these two fops
(lookup &amp; mkdir), we eliminate the race altogether.

[2]. Staleness of dentries

This causes exponential increase in traversal time for any inode in the
subtree of the directory pointed by stale dentry.

Cause :  Stale dentry is created because of following two operations:

      a. dentry creation due to inode_link, done during operations like
         lookup, mkdir, create, mknod, symlink, create and
      b. dentry unlinking due to various operations like rmdir, rename,
         unlink.

       The reason is __inode_link uses __is_dentry_cyclic, which explores
       all possible path to avoid cyclic link formation during inode
       linkage. __is_dentry_cyclic explores stale-dentry(ies) and its
       all ancestors which is increases traversing time exponentially.

Implementation : To acheive this all fops on dentry must take entry locks
before they proceed, once they have acquired locks, they perform the fop
and then release the lock.

Some documentation from email conversation:
[1] http://www.gluster.org/pipermail/gluster-devel/2015-December/047314.html

[2] http://www.gluster.org/pipermail/gluster-devel/2015-August/046428.html

With this patch, the feature is optional, enable it by running:

 `gluster volume set $volname features.sdfs enable`

Also the feature is tested for a month without issues in the
experiemental branch for all the regression.

Change-Id: I6e80ba3cabfa6facd5dda63bd482b9bf18b6b79b
Fixes: #397
Signed-off-by: Sakshi Bansal &lt;sabansal@redhat.com&gt;
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/error-gen: update volume options for GD2</title>
<updated>2018-01-23T04:07:41+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2018-01-09T06:07:59+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=a35f158f1cbe142a1f65bfc5f3c7584ec3e7bab0'/>
<id>a35f158f1cbe142a1f65bfc5f3c7584ec3e7bab0</id>
<content type='text'>
Updates #302

Change-Id: I8d04bb4f46b1e53a8d176a75da2382fdbf0cfc6f
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updates #302

Change-Id: I8d04bb4f46b1e53a8d176a75da2382fdbf0cfc6f
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>performance/read-ahead: volume option fixes for GD2</title>
<updated>2018-01-22T15:59:42+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2018-01-06T01:53:15+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=8efa3ee675a991410c6aa27dce40d4dd441d0935'/>
<id>8efa3ee675a991410c6aa27dce40d4dd441d0935</id>
<content type='text'>
Updates #302

Change-Id: I842ab746502bc4ff3b312ee19f397a6177edc6f7
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updates #302

Change-Id: I842ab746502bc4ff3b312ee19f397a6177edc6f7
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/server: Fix "auth-path" in options table</title>
<updated>2018-01-22T11:19:16+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2018-01-19T08:54:02+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=0c1eb282aad1a8b210b2f77efe57a3c35c4bee70'/>
<id>0c1eb282aad1a8b210b2f77efe57a3c35c4bee70</id>
<content type='text'>
Options set will crash the brick with glusterd2.
glusterd used to set "auth-path" during volfile
generation. With glusterd2, it should come from
options table.

Updates: #302
Change-Id: Ie41a17779c185b87ace7e0bce0d0ba594b415a75
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Options set will crash the brick with glusterd2.
glusterd used to set "auth-path" during volfile
generation. With glusterd2, it should come from
options table.

Updates: #302
Change-Id: Ie41a17779c185b87ace7e0bce0d0ba594b415a75
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>performance/write-behind: volume option fixes for GD2</title>
<updated>2018-01-22T10:18:08+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2018-01-06T01:53:45+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=b1abe3c1baa5c132d32f7c6eedf3f9255534ed37'/>
<id>b1abe3c1baa5c132d32f7c6eedf3f9255534ed37</id>
<content type='text'>
Updates #302

Change-Id: I2ade3dc4aef4da619c5b64058872594f0f1e004f
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updates #302

Change-Id: I2ade3dc4aef4da619c5b64058872594f0f1e004f
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libgfapi: Add new api for supporting mandatory-locks</title>
<updated>2018-01-22T09:54:02+00:00</updated>
<author>
<name>Anoop C S</name>
<email>anoopcs@redhat.com</email>
</author>
<published>2016-01-19T09:05:18+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=ec3df9e65a3a2e1005cd4d50d06a8819fd3ab5f6'/>
<id>ec3df9e65a3a2e1005cd4d50d06a8819fd3ab5f6</id>
<content type='text'>
The current API for byte-range locks [glfs_posix_lock()] doesn't
allow applications to specify whether it is advisory or mandatory
type locks. This particular change is to introduce an extended
byte-range lock API with an additional argument for including
the byte-range lock mode to be one among advisory(default) or
mandatory. Patch also includes a gfapi test case which make use
of this new api to acquire mandatory locks.

Ref: https://github.com/gluster/glusterfs-specs/blob/master/done/GlusterFS%203.8/Mandatory%20Locks.md

Change-Id: Ia09042c755d891895d96da857321abc4ce03e20c
Updates #393
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current API for byte-range locks [glfs_posix_lock()] doesn't
allow applications to specify whether it is advisory or mandatory
type locks. This particular change is to introduce an extended
byte-range lock API with an additional argument for including
the byte-range lock mode to be one among advisory(default) or
mandatory. Patch also includes a gfapi test case which make use
of this new api to acquire mandatory locks.

Ref: https://github.com/gluster/glusterfs-specs/blob/master/done/GlusterFS%203.8/Mandatory%20Locks.md

Change-Id: Ia09042c755d891895d96da857321abc4ce03e20c
Updates #393
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
