<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/cluster/afr/src/afr-transaction.c, branch v3.0.2</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>afr: handle fdctx-&gt;pre_op_done handling</title>
<updated>2009-11-29T13:32:58+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2009-11-29T07:37:32+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=77a7250b16c119e20c2d5c66a80b559455953a47'/>
<id>77a7250b16c119e20c2d5c66a80b559455953a47</id>
<content type='text'>
reset pre_op_done[i] to 0 after issuing a postop in flush. this was
missed during the introduction of pre_op_done[] array and was resulting
in a lot of spurious self heals when spurious flushes were received

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: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
reset pre_op_done[i] to 0 after issuing a postop in flush. this was
missed during the introduction of pre_op_done[] array and was resulting
in a lot of spurious self heals when spurious flushes were received

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: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Include "common-utils.h" instead of alloca.h</title>
<updated>2009-11-26T10:48:42+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-11-24T10:08:54+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=2517ec18aeae5d6952aace778dacdd1cde93efe0'/>
<id>2517ec18aeae5d6952aace778dacdd1cde93efe0</id>
<content type='text'>
alloca.h should be included on a platform-specific basis.
Lets common-utils.h handle that.

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

BUG: 349 (FreeBSD compilation error (alloca.h).)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=349
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
alloca.h should be included on a platform-specific basis.
Lets common-utils.h handle that.

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

BUG: 349 (FreeBSD compilation error (alloca.h).)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=349
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Do self-heal on unopened fds.</title>
<updated>2009-11-25T14:03:39+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-11-25T07:51:23+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=1bcb009cf65e57117653bbbb5cdf673f9d9142e9'/>
<id>1bcb009cf65e57117653bbbb5cdf673f9d9142e9</id>
<content type='text'>
This patch completes the previous patch for self-heal of
open fds in replicate.

If an fd was never opened on a subvolume, we remember that
and do the open after we've done self-heal on that fd.

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

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch completes the previous patch for self-heal of
open fds in replicate.

If an fd was never opened on a subvolume, we remember that
and do the open after we've done self-heal on that fd.

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

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Do self-heal on reopened fds.</title>
<updated>2009-11-24T14:40:08+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-11-24T08:45:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=74612a456ad1602f8038fae79fee654eb427602a'/>
<id>74612a456ad1602f8038fae79fee654eb427602a</id>
<content type='text'>
This patch brings in partial support for self-heal of open
fds. The precondition is that the fd should have been opened
successfully during the initial open() (or create()), and we
assume that protocol/client has successfully reopened the fd
when the subvolume comes back up.

It works by doing an "up/down flush" (a dummy flush transaction
to do post-op wherever necessary) and then triggering
data self-heal on the file in the post-post-op hook of the
dummy flush transaction. This ensures that any writes
that come in during self-heal will wait until self-heal completes.

The up/down flush is also done when a subvolume goes down,
so that post-op is done on all subvolumes where pre-op was done.

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

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch brings in partial support for self-heal of open
fds. The precondition is that the fd should have been opened
successfully during the initial open() (or create()), and we
assume that protocol/client has successfully reopened the fd
when the subvolume comes back up.

It works by doing an "up/down flush" (a dummy flush transaction
to do post-op wherever necessary) and then triggering
data self-heal on the file in the post-post-op hook of the
dummy flush transaction. This ensures that any writes
that come in during self-heal will wait until self-heal completes.

The up/down flush is also done when a subvolume goes down,
so that post-op is done on all subvolumes where pre-op was done.

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

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Provide a post-post_op hook in the transaction.</title>
<updated>2009-11-24T14:40:04+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-11-24T08:45:08+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=218959e0597b16755a98b19786ed6a42cd15cbc4'/>
<id>218959e0597b16755a98b19786ed6a42cd15cbc4</id>
<content type='text'>
Signed-off-by: Vikas Gorur &lt;vikas@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Vikas Gorur &lt;vikas@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Hold blocking locks for data self-heal.</title>
<updated>2009-11-24T14:39:57+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-11-24T08:45:06+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=21cffbc219efc36229002e71a02b9270cfee9186'/>
<id>21cffbc219efc36229002e71a02b9270cfee9186</id>
<content type='text'>
Data self-heal now holds blocking locks, and instead of locking
on all subvolumes, it only locks on {data-lock-server-count} subvolumes.

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

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Data self-heal now holds blocking locks, and instead of locking
on all subvolumes, it only locks on {data-lock-server-count} subvolumes.

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

BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Unlock only those paths which have been locked during rename.</title>
<updated>2009-11-24T12:36:45+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-10-14T14:07:51+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=7c6bc261e7d60bb1c4103c2e2e64a8ab89aa66e9'/>
<id>7c6bc261e7d60bb1c4103c2e2e64a8ab89aa66e9</id>
<content type='text'>
For ENTRY_RENAME_TRANSACTIONs, keep track separately whether the
lower_path and the higher_path have been locked, and unlock only
those which have been.

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

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For ENTRY_RENAME_TRANSACTIONs, keep track separately whether the
lower_path and the higher_path have been locked, and unlock only
those which have been.

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

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</pre>
</div>
</content>
</entry>
<entry>
<title>afr transaction: fix op_ret check during locking</title>
<updated>2009-10-13T13:23:10+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2009-10-13T07:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=7c4429b9631c3c9866620887d6a41030466f71e3'/>
<id>7c4429b9631c3c9866620887d6a41030466f71e3</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</pre>
</div>
</content>
</entry>
<entry>
<title>afr transaction prevent spurious unlocks</title>
<updated>2009-10-13T12:46:43+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2009-10-13T06:22:37+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=b20cee457232a88517af44ae4505361dd3a4de15'/>
<id>b20cee457232a88517af44ae4505361dd3a4de15</id>
<content type='text'>
mark a subvol with held lock only if op_ret == 0

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

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
mark a subvol with held lock only if op_ret == 0

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

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Hold second lock after first lock has been granted for rename transactions.</title>
<updated>2009-10-12T17:29:18+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-10-12T07:01:13+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=6df45979aae89a217e43c59a8f0a8087915ce5d8'/>
<id>6df45979aae89a217e43c59a8f0a8087915ce5d8</id>
<content type='text'>
Hold the lock on the {higher_path} only after the lock on the
{lower_path} has been granted successfully.

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

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hold the lock on the {higher_path} only after the lock on the
{lower_path} has been granted successfully.

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

BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
</pre>
</div>
</content>
</entry>
</feed>
