<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/cluster/afr/src/afr-transaction.c, branch v3.2.0qa16</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>cluster/afr: log enhancement - part 3</title>
<updated>2011-04-01T13:08:30+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2011-03-29T07:07:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=5c709704ab5767b55f4eef7cddea52e18e2a6d42'/>
<id>5c709704ab5767b55f4eef7cddea52e18e2a6d42</id>
<content type='text'>
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 2346 (Log message enhancements in GlusterFS - phase 1)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 2346 (Log message enhancements in GlusterFS - phase 1)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: white-space cleanup - part 2</title>
<updated>2011-03-31T11:19:47+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2011-03-29T07:06:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0cccbefebfd2e95dbbf7f078f5e45267c60d48ed'/>
<id>0cccbefebfd2e95dbbf7f078f5e45267c60d48ed</id>
<content type='text'>
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 2346 (Log message enhancements in GlusterFS - phase 1)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 2346 (Log message enhancements in GlusterFS - phase 1)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Fix wrong memory allocation</title>
<updated>2011-03-14T17:41:42+00:00</updated>
<author>
<name>Pranith K</name>
<email>pranithk@gluster.com</email>
</author>
<published>2011-03-14T04:20:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c886643f97373944030c118b7f78d0a8c06b2291'/>
<id>c886643f97373944030c118b7f78d0a8c06b2291</id>
<content type='text'>
Signed-off-by: Pranith Kumar K &lt;pranithk@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 2517 (the size of allocated memory may be wrong)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2517
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Pranith Kumar K &lt;pranithk@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 2517 (the size of allocated memory may be wrong)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2517
</pre>
</div>
</content>
</entry>
<entry>
<title>replicate: optimistic changelog</title>
<updated>2010-11-09T11:07:07+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2010-11-09T05:27:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=6fb49f18a9bbfd1266b4773e757e459519c6719c'/>
<id>6fb49f18a9bbfd1266b4773e757e459519c6719c</id>
<content type='text'>
The standard way of maintaining changelog in replicate has been to
write out pending flags and to unset the pending flag post the
actual operation.

This new optimization kicks in only when all subvolumes are up.

The optimization is that, during pre-op, no changelog is written for
METADATA and ENTRY/RENAME operations. If during the operation nothing
failed, no changelog is updated in post-op either. If however,
something does fail during an operation, then, pending flags get
written during post op pointing only towards the failed nodes.

DATA transactions continue to work the way they are.

If one subvolume is down, pending flags are written in pre-op changelog
itself as before.

The impact of this optimization is only in the case when both servers
die or the client dies while the 'FOP' stage of the transaction is
in progress. By nature of METADATA and ENTRY operations, detecting a
mismatch later is not dependent on the presence of changelog. Changelog
only determines the direction in which self-heal happens for these types
of transactions. For the direction too this optimization does not have
a major impact because in the cases of failure (both servers dieing or
client dieing) the final state (direction of self-heal) would be
arbitrary anyways as the syscall wouldn't have completed.

Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 2068 (performance enhancements)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2068
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The standard way of maintaining changelog in replicate has been to
write out pending flags and to unset the pending flag post the
actual operation.

This new optimization kicks in only when all subvolumes are up.

The optimization is that, during pre-op, no changelog is written for
METADATA and ENTRY/RENAME operations. If during the operation nothing
failed, no changelog is updated in post-op either. If however,
something does fail during an operation, then, pending flags get
written during post op pointing only towards the failed nodes.

DATA transactions continue to work the way they are.

If one subvolume is down, pending flags are written in pre-op changelog
itself as before.

The impact of this optimization is only in the case when both servers
die or the client dies while the 'FOP' stage of the transaction is
in progress. By nature of METADATA and ENTRY operations, detecting a
mismatch later is not dependent on the presence of changelog. Changelog
only determines the direction in which self-heal happens for these types
of transactions. For the direction too this optimization does not have
a major impact because in the cases of failure (both servers dieing or
client dieing) the final state (direction of self-heal) would be
arbitrary anyways as the syscall wouldn't have completed.

Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 2068 (performance enhancements)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2068
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright changes</title>
<updated>2010-10-11T14:31:12+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2010-10-11T08:38:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2854c559340d33473750fac65aace58506951276'/>
<id>2854c559340d33473750fac65aace58506951276</id>
<content type='text'>
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
</pre>
</div>
</content>
</entry>
<entry>
<title>Change GNU GPL to GNU AGPL</title>
<updated>2010-10-04T14:50:05+00:00</updated>
<author>
<name>Pranith K</name>
<email>pranithk@gluster.com</email>
</author>
<published>2010-10-04T08:44:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=85c013f3accfc409c1a520d0ad529a2c1c16c653'/>
<id>85c013f3accfc409c1a520d0ad529a2c1c16c653</id>
<content type='text'>
Signed-off-by: Pranith Kumar K &lt;pranithk@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1388 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1388
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Pranith Kumar K &lt;pranithk@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1388 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1388
</pre>
</div>
</content>
</entry>
<entry>
<title>replicate: keep read_child in inode ctx as up-to-date as possible</title>
<updated>2010-09-29T13:34:35+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2010-09-29T06:53:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=b8c42e5cef817bdd0270b1991c0a365aa321f7cc'/>
<id>b8c42e5cef817bdd0270b1991c0a365aa321f7cc</id>
<content type='text'>
In every transaction check if the currently set read child in the
inode context failed in the fop and set it to another subvol on
which the latest fop has passed. This will prevent read fops landing
on subvols which have witnessed a failure.

Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1172 (ls -lh on NFS mount of 2-mirror replicate gives incorrect file size)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1172
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In every transaction check if the currently set read child in the
inode context failed in the fop and set it to another subvol on
which the latest fop has passed. This will prevent read fops landing
on subvols which have witnessed a failure.

Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1172 (ls -lh on NFS mount of 2-mirror replicate gives incorrect file size)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1172
</pre>
</div>
</content>
</entry>
<entry>
<title>replicate: replace first-write-to-flush optimization</title>
<updated>2010-09-29T08:43:24+00:00</updated>
<author>
<name>Anand V. Avati</name>
<email>avati@blackhole.gluster.com</email>
</author>
<published>2010-09-29T00:28:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=aee339605337916aaa1e38a0e9ed2422f0f0dcfb'/>
<id>aee339605337916aaa1e38a0e9ed2422f0f0dcfb</id>
<content type='text'>
use a changelog piggybacking optimization instead of first-write-to-flush
optimization and do other cleanups (removal of post-post-op hook etc.)

Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1235 (Bug for all pump/migrate commits)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
use a changelog piggybacking optimization instead of first-write-to-flush
optimization and do other cleanups (removal of post-post-op hook etc.)

Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1235 (Bug for all pump/migrate commits)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
</pre>
</div>
</content>
</entry>
<entry>
<title>whitespace cleanup</title>
<updated>2010-09-29T08:43:20+00:00</updated>
<author>
<name>Anand V. Avati</name>
<email>avati@blackhole.gluster.com</email>
</author>
<published>2010-09-29T00:28:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=25e4eefc40de8fc47260c1d8209679269686c162'/>
<id>25e4eefc40de8fc47260c1d8209679269686c162</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1235 (Bug for all pump/migrate commits)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1235 (Bug for all pump/migrate commits)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Use 2 phase locking for transactions and self heal.</title>
<updated>2010-08-23T05:27:40+00:00</updated>
<author>
<name>Pavan Sondur</name>
<email>pavan@gluster.com</email>
</author>
<published>2010-08-22T14:08:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=63f9e2a49573a0b539c0082fd0c08c1b4d4db983'/>
<id>63f9e2a49573a0b539c0082fd0c08c1b4d4db983</id>
<content type='text'>
Signed-off-by: Pavan Vilas Sondur &lt;pavan@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 960 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Pavan Vilas Sondur &lt;pavan@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 960 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960
</pre>
</div>
</content>
</entry>
</feed>
