<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/libglusterfs/src/gfdb, branch v3.7.5</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>tier/ctr: Solving DB Lock issue due to write contention from db connections</title>
<updated>2015-09-11T20:46:50+00:00</updated>
<author>
<name>Joseph Fernandes</name>
<email>josferna@redhat.com</email>
</author>
<published>2015-09-11T13:36:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1d02d4bd9b5f7d730ab08961c17ef58204c8e8fd'/>
<id>1d02d4bd9b5f7d730ab08961c17ef58204c8e8fd</id>
<content type='text'>
This is a backport of 12031.

&gt; Problem: The DB on the brick is been accessed by CTR, for write and
&gt; tier migrator, for read and write. The write from tier migrator is reseting
&gt; the heat counters after a cycle. Since we are using sqlite, two connections
&gt; trying to write would cause a db lock contention. As a result CTR used to fail
&gt; to update the db.

&gt; Solution: Using the same db connection of CTR for reseting the heat counters.
&gt; 1) Introducted a new IPC FOP for CTR
&gt; 2) After the query do a ipc syncop to the underlying client xlator associated
&gt;    to the brick.
&gt; 3) CTR in brick will catch the IPC FOP and cleat the heat counters.

&gt; Change-Id: I53306bfc08dcdba479deb4ccc154896521336150
&gt; BUG: 1260730
&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/12031
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Conflicts:
	xlators/cluster/dht/src/tier.c

Change-Id: I88aa289cdf21e216b42c3d8ccfb4e7e828b43772
BUG: 1262341
Reviewed-on: http://review.gluster.org/12161
Reviewed-by: Joseph Fernandes
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a backport of 12031.

&gt; Problem: The DB on the brick is been accessed by CTR, for write and
&gt; tier migrator, for read and write. The write from tier migrator is reseting
&gt; the heat counters after a cycle. Since we are using sqlite, two connections
&gt; trying to write would cause a db lock contention. As a result CTR used to fail
&gt; to update the db.

&gt; Solution: Using the same db connection of CTR for reseting the heat counters.
&gt; 1) Introducted a new IPC FOP for CTR
&gt; 2) After the query do a ipc syncop to the underlying client xlator associated
&gt;    to the brick.
&gt; 3) CTR in brick will catch the IPC FOP and cleat the heat counters.

&gt; Change-Id: I53306bfc08dcdba479deb4ccc154896521336150
&gt; BUG: 1260730
&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/12031
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Conflicts:
	xlators/cluster/dht/src/tier.c

Change-Id: I88aa289cdf21e216b42c3d8ccfb4e7e828b43772
BUG: 1262341
Reviewed-on: http://review.gluster.org/12161
Reviewed-by: Joseph Fernandes
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/tier: add gluster v tier &lt;vol&gt;</title>
<updated>2015-09-10T17:59:11+00:00</updated>
<author>
<name>Dan Lambright</name>
<email>dlambrig@redhat.com</email>
</author>
<published>2015-08-21T10:45:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0628c77f9069e93c49993722ac577becfcf902db'/>
<id>0628c77f9069e93c49993722ac577becfcf902db</id>
<content type='text'>
This is a backport of 11984.

&gt; Currently the tier feature piggy backs off the rebalance command
&gt; syntax to obtain status and this is clumsy. Introduce a new
&gt; tier command that can do tier specific operations, starting
&gt; with volume status to display counters.

&gt; Old commands:
&gt; gluster volume attach-tier &lt;vol&gt; [replica count] {bricklist..}
&gt; gluster volume detach-tier &lt;vol&gt; {start|stop|commit}

&gt; New commands:
&gt; gluster volume tier &lt;vol&gt; attach [replica count] {bricklist} |
&gt;                           detach {start|stop|commit} |
&gt;                           status

&gt; Change-Id: Ic07b3c6260588162de7d34380f8cbd3d8a7f35d3
&gt; BUG: 1255693
&gt; Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11984
&gt; Reviewed-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Change-Id: Id45bd0fa6b8606dd47863de83a694908da393229
BUG: 1261664
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12143
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a backport of 11984.

&gt; Currently the tier feature piggy backs off the rebalance command
&gt; syntax to obtain status and this is clumsy. Introduce a new
&gt; tier command that can do tier specific operations, starting
&gt; with volume status to display counters.

&gt; Old commands:
&gt; gluster volume attach-tier &lt;vol&gt; [replica count] {bricklist..}
&gt; gluster volume detach-tier &lt;vol&gt; {start|stop|commit}

&gt; New commands:
&gt; gluster volume tier &lt;vol&gt; attach [replica count] {bricklist} |
&gt;                           detach {start|stop|commit} |
&gt;                           status

&gt; Change-Id: Ic07b3c6260588162de7d34380f8cbd3d8a7f35d3
&gt; BUG: 1255693
&gt; Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11984
&gt; Reviewed-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Change-Id: Id45bd0fa6b8606dd47863de83a694908da393229
BUG: 1261664
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12143
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/tier: fix 64 bit issue with sql query using times</title>
<updated>2015-08-13T16:08:43+00:00</updated>
<author>
<name>Dan Lambright</name>
<email>dlambrig@redhat.com</email>
</author>
<published>2015-08-13T14:24:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0e3c9029e1d022f2aadcac7c320b7c56069bc0c6'/>
<id>0e3c9029e1d022f2aadcac7c320b7c56069bc0c6</id>
<content type='text'>
This is a backport of 11885.

&gt; We overflowed when converting seconds to usecs in preperation for
&gt; sql queries. The fix uses uint64_t throughout including subexpressions.

&gt; Change-Id: I59bdb742197400dede97f54735b52030920b0d19
&gt; BUG: 1231268
&gt; Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Change-Id: Iaef7083dac7a162080f4bc23e29dedfe700fa342
BUG: 1252903
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11913
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Joseph Fernandes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a backport of 11885.

&gt; We overflowed when converting seconds to usecs in preperation for
&gt; sql queries. The fix uses uint64_t throughout including subexpressions.

&gt; Change-Id: I59bdb742197400dede97f54735b52030920b0d19
&gt; BUG: 1231268
&gt; Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Change-Id: Iaef7083dac7a162080f4bc23e29dedfe700fa342
BUG: 1252903
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11913
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Joseph Fernandes
</pre>
</div>
</content>
</entry>
<entry>
<title>libgfdb/ctr: Fixing rename or update of link</title>
<updated>2015-08-12T13:46:53+00:00</updated>
<author>
<name>Joseph Fernandes</name>
<email>josferna@redhat.com</email>
</author>
<published>2015-07-08T15:52:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=a6243c3b1cbeb059da98a9260730fc9767fe8b44'/>
<id>a6243c3b1cbeb059da98a9260730fc9767fe8b44</id>
<content type='text'>
Backport of http://review.gluster.org/11584 to 3.7.2

Fixing rename or updating of link in
1) libgfdb : handling return from updatelink
2) ctr xlator: correcting freeing of oldbase name in
               hardlink list in the update link

&gt;Change-Id: I1789c492b81876123cd456051a9ae495e876ad46
&gt;BUG: 1241054
&gt;Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt;Reviewed-on: http://review.gluster.org/11584
&gt;Tested-by: Joseph Fernandes
&gt;Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt;Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt;Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;

Change-Id: I6da86c06e390f62fe8a44ade7b1efda5771e9ca8
BUG: 1242536
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11649
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/11584 to 3.7.2

Fixing rename or updating of link in
1) libgfdb : handling return from updatelink
2) ctr xlator: correcting freeing of oldbase name in
               hardlink list in the update link

&gt;Change-Id: I1789c492b81876123cd456051a9ae495e876ad46
&gt;BUG: 1241054
&gt;Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt;Reviewed-on: http://review.gluster.org/11584
&gt;Tested-by: Joseph Fernandes
&gt;Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt;Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt;Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;

Change-Id: I6da86c06e390f62fe8a44ade7b1efda5771e9ca8
BUG: 1242536
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11649
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libgfdb/sql: Fixing broken query of find_unchanged</title>
<updated>2015-07-18T13:46:05+00:00</updated>
<author>
<name>Joseph Fernandes</name>
<email>josferna@redhat.com</email>
</author>
<published>2015-07-08T09:05:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fa6509014ffd0c0b920e8623c4d0a72e3bf16fb3'/>
<id>fa6509014ffd0c0b920e8623c4d0a72e3bf16fb3</id>
<content type='text'>
 The find_unchanged query should be

          "write_heat &lt;= defined_heat" AND "read_heat &lt;= defined_heat"
   and not
          "write_heat &lt;= defined_heat" OR "read_heat &lt;= defined_heat"

&gt;&gt;Backport of http://review.gluster.org/#/c/11577/
&gt;&gt;Change-Id: Ie82e02aafbb7ea14563007307de3350ea022049a
&gt;&gt;BUG: 1240970
&gt;&gt;Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;

Change-Id: Ie5d06fa2e3a3552741d2e6bd76807a69808c3d65
BUG: 1241776
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11608
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-by: Pamela Ousley &lt;pousley@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 The find_unchanged query should be

          "write_heat &lt;= defined_heat" AND "read_heat &lt;= defined_heat"
   and not
          "write_heat &lt;= defined_heat" OR "read_heat &lt;= defined_heat"

&gt;&gt;Backport of http://review.gluster.org/#/c/11577/
&gt;&gt;Change-Id: Ie82e02aafbb7ea14563007307de3350ea022049a
&gt;&gt;BUG: 1240970
&gt;&gt;Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;

Change-Id: Ie5d06fa2e3a3552741d2e6bd76807a69808c3d65
BUG: 1241776
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11608
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-by: Pamela Ousley &lt;pousley@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tier/ctr: Ignore creation of T file and Ctr Lookup heal improvememnts</title>
<updated>2015-06-28T01:11:00+00:00</updated>
<author>
<name>Dan Lambright</name>
<email>dlambrig@redhat.com</email>
</author>
<published>2015-06-27T10:31:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3da1a1cf339da77e47f71b245d4cac3f9dc1da38'/>
<id>3da1a1cf339da77e47f71b245d4cac3f9dc1da38</id>
<content type='text'>
This is a back port of 11334

1) Ignore creation of T file in ctr_mknod
2) Ignore lookup for T file in ctr_lookup
3) Ctr_lookup:
    a. If the gfid and pgfid in empty dont record
    b. Decreased log level for multiple heal attempts
    c. Inode/File heal happens after an expiry period, which is configurable.
    d. Hardlink heal happens after an expiry period, which is configurable.

&gt; Change-Id: Id8eb5092e78beaec22d05f5283645081619e2452
&gt; BUG: 1235269
&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11334
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt; Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Change-Id: Ia28a5cf975e41d318906f707deca447aaa35630f
BUG: 1236288
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11446
Reviewed-by: Joseph Fernandes
Tested-by: Joseph Fernandes
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a back port of 11334

1) Ignore creation of T file in ctr_mknod
2) Ignore lookup for T file in ctr_lookup
3) Ctr_lookup:
    a. If the gfid and pgfid in empty dont record
    b. Decreased log level for multiple heal attempts
    c. Inode/File heal happens after an expiry period, which is configurable.
    d. Hardlink heal happens after an expiry period, which is configurable.

&gt; Change-Id: Id8eb5092e78beaec22d05f5283645081619e2452
&gt; BUG: 1235269
&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11334
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt; Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;

Change-Id: Ia28a5cf975e41d318906f707deca447aaa35630f
BUG: 1236288
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11446
Reviewed-by: Joseph Fernandes
Tested-by: Joseph Fernandes
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfdb/libglusterfs : Port log messages to a new framework</title>
<updated>2015-06-26T12:58:08+00:00</updated>
<author>
<name>Mohamed Ashiq</name>
<email>ashiq333@gmail.com</email>
</author>
<published>2015-05-19T09:25:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=6fc7eaf027aa5a9ac332a947d96430a2c0d656db'/>
<id>6fc7eaf027aa5a9ac332a947d96430a2c0d656db</id>
<content type='text'>
        Backport of http://review.gluster.org/#/c/10819/

Cherry picked from 2847b03a38515a625e36d52c7e0a1d37107d72ba
&gt;Change-Id: I61874561fdf2c175d2b3eec0c85c25f12dc60552
&gt;BUG: 1194640
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
&gt;Reviewed-on: http://review.gluster.org/10819
&gt;Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt;Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt;Reviewed-by: Joseph Fernandes

Change-Id: I61874561fdf2c175d2b3eec0c85c25f12dc60552
BUG: 1217722
Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11284
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        Backport of http://review.gluster.org/#/c/10819/

Cherry picked from 2847b03a38515a625e36d52c7e0a1d37107d72ba
&gt;Change-Id: I61874561fdf2c175d2b3eec0c85c25f12dc60552
&gt;BUG: 1194640
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
&gt;Reviewed-on: http://review.gluster.org/10819
&gt;Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt;Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt;Reviewed-by: Joseph Fernandes

Change-Id: I61874561fdf2c175d2b3eec0c85c25f12dc60552
BUG: 1217722
Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11284
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Tested-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tier/tier.t: Fixing tier.t crash in regression runs</title>
<updated>2015-05-30T15:07:35+00:00</updated>
<author>
<name>Joseph Fernandes</name>
<email>josferna@redhat.com</email>
</author>
<published>2015-05-21T05:47:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3b4980919bf23b952fa5155bc8f9d59613cbafb7'/>
<id>3b4980919bf23b952fa5155bc8f9d59613cbafb7</id>
<content type='text'>
1) If the database file exists
   a. Dont try re-creating the db schema
   b. Dont try re-configuring the db.

2) Dont assert in fini_db () when connection is NULL

&gt;&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt;&gt; Reviewed-on: http://review.gluster.org/10870
&gt;&gt; Tested-by: NetBSD Build System
&gt;&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt;&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
&gt;&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt;&gt;Change-Id: Idd2833f55caaa6b3a77d935d877d6c4d2994da6a

Change-Id: Ia2e044fce4e41bccc8fdada1cb21f240fdbd55df
BUG: 1225077
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10992
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) If the database file exists
   a. Dont try re-creating the db schema
   b. Dont try re-configuring the db.

2) Dont assert in fini_db () when connection is NULL

&gt;&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt;&gt; Reviewed-on: http://review.gluster.org/10870
&gt;&gt; Tested-by: NetBSD Build System
&gt;&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt;&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
&gt;&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt;&gt;Change-Id: Idd2833f55caaa6b3a77d935d877d6c4d2994da6a

Change-Id: Ia2e044fce4e41bccc8fdada1cb21f240fdbd55df
BUG: 1225077
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10992
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>CTR/Libgfdb: Log typo fix</title>
<updated>2015-05-10T09:30:18+00:00</updated>
<author>
<name>Joseph Fernandes</name>
<email>josferna@redhat.com</email>
</author>
<published>2015-05-08T11:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=25bb1061642bcaedfdfcab859a07244c2276571f'/>
<id>25bb1061642bcaedfdfcab859a07244c2276571f</id>
<content type='text'>
Log typo fix for CTR Xlator and Libgfdb

Change-Id: Ia39069a5ce9c48bbee937f1b5c5d749a30c9ac56
BUG: 1220100
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10742
Reviewed-by: N Balachandran &lt;nbalacha@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Log typo fix for CTR Xlator and Libgfdb

Change-Id: Ia39069a5ce9c48bbee937f1b5c5d749a30c9ac56
BUG: 1220100
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10742
Reviewed-by: N Balachandran &lt;nbalacha@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ctr/xlator: Named lookup heal of pre-existing files, before ctr was ON.</title>
<updated>2015-05-08T07:34:30+00:00</updated>
<author>
<name>Joseph Fernandes</name>
<email>josferna@redhat.com</email>
</author>
<published>2015-04-24T13:52:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=268b7fcb307e14cce5bcd28495f24333710ba82c'/>
<id>268b7fcb307e14cce5bcd28495f24333710ba82c</id>
<content type='text'>
Problem: The CTR xlator records file meta (heat/hardlinks)
into the data. This works fine for files which are created
after ctr xlator is switched ON. But for files which were
created before CTR xlator is ON, CTR xlator is not able to
record either of the meta i.e heat or hardlinks. Thus making
those files immune to promotions/demotions.

Solution: The solution that is implemented in this patch is
do ctr-db heal of all those pre-existent files, using named lookup.
For this purpose we use the inode-xlator context variable option
in gluster.
The inode-xlator context variable for ctr xlator will have the
following,
    a. A Lock for the context variable
    b. A hardlink list: This list represents the successful looked
       up hardlinks.
These are the scenarios when the hardlink list is updated:
1) Named-Lookup: Whenever a named lookup happens on a file, in the
   wind path we copy all required hardlink and inode information to
   ctr_db_record structure, which resides in the frame-&gt;local variable.
   We dont update the database in wind. During the unwind, we read the
   information from the ctr_db_record and ,
   Check if the inode context variable is created, if not we create it.
   Check if the hard link is there in the hardlink list.
      If its not there we add it to the list and send a update to the
      database using libgfdb.
      Please note: The database transaction can fail(and we ignore) as there
      already might be a record in the db. This update to the db is to heal
      if its not there.
      If its there in the list we ignore it.
2) Inode Forget: Whenever an inode forget hits we clear the hardlink list in
   the inode context variable and delete the inode context variable.
   Please note: An inode forget may happen for two reason,
   a. when the inode is delete.
   b. the in-memory inode is evicted from the inode table due to cache limits.
3) create: whenever a create happens we create the inode context variable and
   add the hardlink. The database updation is done as usual by ctr.
4) link: whenever a hardlink is created for the inode, we create the inode context
   variable, if not present, and add the hardlink to the list.
5) unlink: whenever a unlink happens we delete the hardlink from the list.
6) mknod: same as create.
7) rename: whenever a rename happens we update the hardlink in list. if the hardlink
   was not present for updation, we add the hardlink to the list.

What is pending:
1) This solution will only work for named lookups.
2) We dont track afr-self-heal/dht-rebalancer traffic for healing.

&gt; http://review.gluster.org/#/c/10370/
&gt; Cherry picked from commit cb11dd91a6cc296e4a3808364077f4eacb810e48
&gt; Change-Id: Ia4bbaf84128ad6ce8c3ddd70bcfa82894c79585f
&gt; BUG: 1212037
&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt; Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10370
&gt; Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Tested-by: NetBSD Build System
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;

Change-Id: I367aa46c3f4b8f912248fb8be75866507f2538df
BUG: 1219075
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10370
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10615
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: The CTR xlator records file meta (heat/hardlinks)
into the data. This works fine for files which are created
after ctr xlator is switched ON. But for files which were
created before CTR xlator is ON, CTR xlator is not able to
record either of the meta i.e heat or hardlinks. Thus making
those files immune to promotions/demotions.

Solution: The solution that is implemented in this patch is
do ctr-db heal of all those pre-existent files, using named lookup.
For this purpose we use the inode-xlator context variable option
in gluster.
The inode-xlator context variable for ctr xlator will have the
following,
    a. A Lock for the context variable
    b. A hardlink list: This list represents the successful looked
       up hardlinks.
These are the scenarios when the hardlink list is updated:
1) Named-Lookup: Whenever a named lookup happens on a file, in the
   wind path we copy all required hardlink and inode information to
   ctr_db_record structure, which resides in the frame-&gt;local variable.
   We dont update the database in wind. During the unwind, we read the
   information from the ctr_db_record and ,
   Check if the inode context variable is created, if not we create it.
   Check if the hard link is there in the hardlink list.
      If its not there we add it to the list and send a update to the
      database using libgfdb.
      Please note: The database transaction can fail(and we ignore) as there
      already might be a record in the db. This update to the db is to heal
      if its not there.
      If its there in the list we ignore it.
2) Inode Forget: Whenever an inode forget hits we clear the hardlink list in
   the inode context variable and delete the inode context variable.
   Please note: An inode forget may happen for two reason,
   a. when the inode is delete.
   b. the in-memory inode is evicted from the inode table due to cache limits.
3) create: whenever a create happens we create the inode context variable and
   add the hardlink. The database updation is done as usual by ctr.
4) link: whenever a hardlink is created for the inode, we create the inode context
   variable, if not present, and add the hardlink to the list.
5) unlink: whenever a unlink happens we delete the hardlink from the list.
6) mknod: same as create.
7) rename: whenever a rename happens we update the hardlink in list. if the hardlink
   was not present for updation, we add the hardlink to the list.

What is pending:
1) This solution will only work for named lookups.
2) We dont track afr-self-heal/dht-rebalancer traffic for healing.

&gt; http://review.gluster.org/#/c/10370/
&gt; Cherry picked from commit cb11dd91a6cc296e4a3808364077f4eacb810e48
&gt; Change-Id: Ia4bbaf84128ad6ce8c3ddd70bcfa82894c79585f
&gt; BUG: 1212037
&gt; Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
&gt; Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10370
&gt; Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Tested-by: NetBSD Build System
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;

Change-Id: I367aa46c3f4b8f912248fb8be75866507f2538df
BUG: 1219075
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Signed-off-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10370
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10615
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
