<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/cluster/afr/src/afr-dir-read.c, branch v3.0.8qa1</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>fixes for spurious entry self-heal in afr</title>
<updated>2010-08-13T18:25:33+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pranithk@gluster.com</email>
</author>
<published>2010-08-13T08:15:31+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=f5137bf755542f4ea28d4fce3c659c1b9ec38647'/>
<id>f5137bf755542f4ea28d4fce3c659c1b9ec38647</id>
<content type='text'>
Signed-off-by: Pranith Kumar K &lt;pranithk@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 974 (Spurious self-heal?)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=974
</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: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 974 (Spurious self-heal?)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=974
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Don't dereference fd ptr - it might be NULL due to a failed call.</title>
<updated>2010-05-21T07:32:19+00:00</updated>
<author>
<name>Pavan Sondur</name>
<email>pavan@gluster.com</email>
</author>
<published>2010-05-17T04:43:46+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=de1fbd0fc7d81d9c6f2091a3c94e3dc02d0a3577'/>
<id>de1fbd0fc7d81d9c6f2091a3c94e3dc02d0a3577</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: 914 ([3.0.4] Crash in afr_opendir_cbk)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=914
</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: 914 ([3.0.4] Crash in afr_opendir_cbk)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=914
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Cleanup fd ctx in releasedir cbk</title>
<updated>2010-04-07T09:41:08+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2010-04-06T06:13:13+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=6f67027d787b72f2de9e35740ff5650083c4d29e'/>
<id>6f67027d787b72f2de9e35740ff5650083c4d29e</id>
<content type='text'>
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 805 (memory leak in afr)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=805
</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: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 805 (memory leak in afr)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=805
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: UNWIND if opendir returns an error.</title>
<updated>2010-03-25T12:49:15+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2010-03-25T02:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=da47fe9a400dbc811327d4fb8e754c47dbdeaccc'/>
<id>da47fe9a400dbc811327d4fb8e754c47dbdeaccc</id>
<content type='text'>
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 756 (simaltaneous rm -rf hangs the clients)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=756
</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: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 756 (simaltaneous rm -rf hangs the clients)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=756
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Fix possible NULL dereference in readdirp_cbk</title>
<updated>2010-03-17T10:19:42+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2010-03-16T13:32:51+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=9aed760471eba142d8b8b77dc4bb65486e2d4d12'/>
<id>9aed760471eba142d8b8b77dc4bb65486e2d4d12</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: 722 (Segfault in glusterfs 3.0.3 replicate/afr_readdirp_cbk)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=722
</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: 722 (Segfault in glusterfs 3.0.3 replicate/afr_readdirp_cbk)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=722
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Failover readdir calls.</title>
<updated>2010-03-04T10:04:20+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2010-03-01T17:47:06+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=1ce31a9a12a17b0dc3a2a0d99f3a6cfa00852cea'/>
<id>1ce31a9a12a17b0dc3a2a0d99f3a6cfa00852cea</id>
<content type='text'>
This patch makes the replicate readdir call fail over to the next
subvolume if the first call fails. It takes care to ensure that
entries are not duplicated.

The failover behavior of readdir only comes into effect if
the option 'strict-readdir' is on.

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

BUG: 453 (afr_readdir does not fail over)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=453
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch makes the replicate readdir call fail over to the next
subvolume if the first call fails. It takes care to ensure that
entries are not duplicated.

The failover behavior of readdir only comes into effect if
the option 'strict-readdir' is on.

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

BUG: 453 (afr_readdir does not fail over)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=453
</pre>
</div>
</content>
</entry>
<entry>
<title>storage/posix: Added janitor thread.</title>
<updated>2009-12-02T18:29:23+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-12-02T07:48:45+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=c04c1a170dcc605efcf80c8ae2674b69488b591d'/>
<id>c04c1a170dcc605efcf80c8ae2674b69488b591d</id>
<content type='text'>
The janitor thread deletes all files and directories in
the "/" GF_REPLICATE_TRASH_DIR directory. This directory
is used by replicate self-heal to dump files and
directories it deletes.

This is needed because letting replicate walk the directory
tree and delete a directory and all its children is too racy.
Instead, replicate self-heal only does an atomic rename(),
and the janitor thread takes care of actually deleting them.

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

BUG: 227 (replicate selfheal does not remove directory with contents in it)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The janitor thread deletes all files and directories in
the "/" GF_REPLICATE_TRASH_DIR directory. This directory
is used by replicate self-heal to dump files and
directories it deletes.

This is needed because letting replicate walk the directory
tree and delete a directory and all its children is too racy.
Instead, replicate self-heal only does an atomic rename(),
and the janitor thread takes care of actually deleting them.

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

BUG: 227 (replicate selfheal does not remove directory with contents in it)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Don't do memcpy of afr_local_t in afr_local_copy.</title>
<updated>2009-12-01T14:30:07+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-12-01T06:11:06+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=85ed82893aca7dd6307100660b9bba0233d52240'/>
<id>85ed82893aca7dd6307100660b9bba0233d52240</id>
<content type='text'>
For the background self-heal frame's local_t, copy only
required members --- not a wholesale memcpy. The memcpy
lead to pointers being copied and then double free'd.

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

BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For the background self-heal frame's local_t, copy only
required members --- not a wholesale memcpy. The memcpy
lead to pointers being copied and then double free'd.

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

BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/afr: Refactored the self-heal interface.</title>
<updated>2009-11-24T14:40:12+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@gluster.com</email>
</author>
<published>2009-11-24T08:45:10+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=250edc9e494fe0c59eff580df18080111ecb475e'/>
<id>250edc9e494fe0c59eff580df18080111ecb475e</id>
<content type='text'>
Cleaned up the self-heal interface to callers.

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>
Cleaned up the self-heal interface to callers.

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>
</feed>
