<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git, branch v4.0.0rc0</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.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://git.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>gfapi : New APIs have been added to use lease feature in gluster</title>
<updated>2018-02-01T11:39:52+00:00</updated>
<author>
<name>Soumya Koduri</name>
<email>skoduri@redhat.com</email>
</author>
<published>2018-01-10T09:31:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=14555df7c6bc74622eb2283ded1c1f10980180ce'/>
<id>14555df7c6bc74622eb2283ded1c1f10980180ce</id>
<content type='text'>
Following APIs glfs_h_lease(), glfs_lease() added, so that gfapi applications
can set and get lease which enables more efficient client side caching.

Updates: #350
Change-Id: Iede85be9af1d4df969b890d0937ed0afa4ca6596
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following APIs glfs_h_lease(), glfs_lease() added, so that gfapi applications
can set and get lease which enables more efficient client side caching.

Updates: #350
Change-Id: Iede85be9af1d4df969b890d0937ed0afa4ca6596
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
Signed-off-by: Jiffin Tony Thottan &lt;jthottan@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://git.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://git.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://git.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>build: use libtirpc by default, even if ipv6 is not the default</title>
<updated>2018-01-30T18:36:28+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2018-01-25T16:45:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3c197578b1b0c1a83893f7aa96137fec754dc5ec'/>
<id>3c197578b1b0c1a83893f7aa96137fec754dc5ec</id>
<content type='text'>
Another error snuck in with Change-Id I86f847dfd, or more
accurately I think, with Change-Id: Ic47065e9c2...

All libs, not just libgfrpc, need to be linked with libtirpc,
especially on systems that still have xdr functions in (g)libc
where you will get a mixture of calls to libtirpc functions
and glibc functions, with catas

Change-Id: I97dc39c7844f44c36fe210aa813480c219e1e415
BUG: 1538723
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Another error snuck in with Change-Id I86f847dfd, or more
accurately I think, with Change-Id: Ic47065e9c2...

All libs, not just libgfrpc, need to be linked with libtirpc,
especially on systems that still have xdr functions in (g)libc
where you will get a mixture of calls to libtirpc functions
and glibc functions, with catas

Change-Id: I97dc39c7844f44c36fe210aa813480c219e1e415
BUG: 1538723
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Remove unused working directory check in gsyncd</title>
<updated>2018-01-30T18:36:10+00:00</updated>
<author>
<name>Aravinda VK</name>
<email>avishwan@redhat.com</email>
</author>
<published>2018-01-29T07:12:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=55f63e2cc971873ec0eacb4425fc6bf22cb46b62'/>
<id>55f63e2cc971873ec0eacb4425fc6bf22cb46b62</id>
<content type='text'>
To append the default config file path, gsyncd calls gluster
command to get the workdir path and constructs config file path.
This is not required now since the Config management in Geo-replication
is changed with patch 18257(Issue #73)

BUG: 1539701
Change-Id: Ia7eb39e36ed59ece4de65ea7ec71a0f615e338bb
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit 596143a286079338c30c8abc4b862f8d6ddddb3a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To append the default config file path, gsyncd calls gluster
command to get the workdir path and constructs config file path.
This is not required now since the Config management in Geo-replication
is changed with patch 18257(Issue #73)

BUG: 1539701
Change-Id: Ia7eb39e36ed59ece4de65ea7ec71a0f615e338bb
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit 596143a286079338c30c8abc4b862f8d6ddddb3a)
</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://git.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>doc: Initial draft of 4.0.0 release notes</title>
<updated>2018-01-29T21:46:12+00:00</updated>
<author>
<name>ShyamsundarR</name>
<email>srangana@redhat.com</email>
</author>
<published>2018-01-29T21:45:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=136c347fc446825c7c94d3fac83c2e3f1a3182b9'/>
<id>136c347fc446825c7c94d3fac83c2e3f1a3182b9</id>
<content type='text'>
This is an initial draft, that should render right in
github.

Need inputs from contributors to complete the notes.

Change-Id: I0e6a4f88b44ff46685e66f139758a2247954639d
BUG: 1539842
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an initial draft, that should render right in
github.

Need inputs from contributors to complete the notes.

Change-Id: I0e6a4f88b44ff46685e66f139758a2247954639d
BUG: 1539842
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Detailed JSON output for config</title>
<updated>2018-01-29T13:51:01+00:00</updated>
<author>
<name>Aravinda VK</name>
<email>avishwan@redhat.com</email>
</author>
<published>2018-01-23T10:26:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=28891851adc4941fa5545aa2bcfa58af251e0874'/>
<id>28891851adc4941fa5545aa2bcfa58af251e0874</id>
<content type='text'>
JSON output of `config-get` command now returns in the following
format

    {
        "name": CONFIG_NAME,
        "value": CONFIG_VALUE,
        "default_value": DEFAULT_VALUE,  # Only if modified == true
        "configurable": true|false,
        "modified": true|false
    }

Change-Id: I6193de48cd33655df7ecef5a0d83d7cb147089cf
Fixes: #361
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit 5d3c90d14839fc134580a4ff944d68f3ff3c605a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
JSON output of `config-get` command now returns in the following
format

    {
        "name": CONFIG_NAME,
        "value": CONFIG_VALUE,
        "default_value": DEFAULT_VALUE,  # Only if modified == true
        "configurable": true|false,
        "modified": true|false
    }

Change-Id: I6193de48cd33655df7ecef5a0d83d7cb147089cf
Fixes: #361
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit 5d3c90d14839fc134580a4ff944d68f3ff3c605a)
</pre>
</div>
</content>
</entry>
</feed>
