<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/protocol/client, branch v2.0.10rc3</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>fail revalidate properly</title>
<updated>2009-10-09T15:42:38+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@dev.gluster.com</email>
</author>
<published>2009-10-09T10:02:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=da5cf2d0209eadda7b6350205206e19253882edd'/>
<id>da5cf2d0209eadda7b6350205206e19253882edd</id>
<content type='text'>
fail revalidate calls if inoode number has changed for the basename at the server side. This is a temporary workaround for most of the cases till inode-gen is merged

Avati

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>
fail revalidate calls if inoode number has changed for the basename at the server side. This is a temporary workaround for most of the cases till inode-gen is merged

Avati

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>Changed occurrences of Z Research to Gluster.</title>
<updated>2009-10-07T10:53:02+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2009-10-05T13:16:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e31b712714920c8133269b416a0c9efd5c6ec44e'/>
<id>e31b712714920c8133269b416a0c9efd5c6ec44e</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</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;
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/client: access glusterfs context from the ctx member of xlator object</title>
<updated>2009-09-22T13:13:43+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2009-09-17T15:07:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=80f5d11c731eb286f55b21b35015943e2bbb1f8b'/>
<id>80f5d11c731eb286f55b21b35015943e2bbb1f8b</id>
<content type='text'>
- A global context pointer cannot be used with libglusterfsclient, since
    there can be many contexts in a single process.

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

BUG: 271 (applications using booster protocol/client crash in client_setvolume_cbk.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=271
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- A global context pointer cannot be used with libglusterfsclient, since
    there can be many contexts in a single process.

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

BUG: 271 (applications using booster protocol/client crash in client_setvolume_cbk.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=271
</pre>
</div>
</content>
</entry>
<entry>
<title>client-protocol: fix race-condition encountered while accessing fdctx</title>
<updated>2009-09-22T13:13:35+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2009-09-16T12:34:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=00b242e1e35b2af7ccbade982e0dae7611cc019e'/>
<id>00b242e1e35b2af7ccbade982e0dae7611cc019e</id>
<content type='text'>
- In protocol/client, fdctx is accessed by two sets of procedures,
  protocol_client_mark_fd_bad falls in one set whereas the other set consists of
  all fops which receive fd as an argument. The way these fdctxs are got is
  different in these two sets. While in the former set, fdctx is accessed
  through conf-&gt;saved_fds, which is a list of fdctxs of fds representing
  opened/created files. In the latter set, fdctxs are got directly from fd
  through fd_ctx_get(). Now there can be race conditions between two threads
  executing one procedure from these two sets. As an example let us consider
  following scenario:

  A flush operation is timed out and polling thread executing
  protocol_client_mark_fd_bad, fuse thread executing client_release. This can
  happen because, immediately a reply for flush is written to fuse, a release on
  the same fd can be sent to glusterfs and the polling thread still might be
  doing cleanup. Consider following set of events:

  1. fuse thread does fd_ctx_get (fd).
  2. polling thread gets the same fdctx but through conf-&gt;saved_fds.
  3. Now both threads go ahead and does list_del (fdctx) and eventually free
     fdctx.

  In other situations the same set events might occur and the threads
  executing fops other than flush in the second set might be accessing a
  fdctx freed in protocol_client_mark_fd_bad.

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

BUG: 127 (race-condition in accessing fdctx in protocol/client)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=127
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- In protocol/client, fdctx is accessed by two sets of procedures,
  protocol_client_mark_fd_bad falls in one set whereas the other set consists of
  all fops which receive fd as an argument. The way these fdctxs are got is
  different in these two sets. While in the former set, fdctx is accessed
  through conf-&gt;saved_fds, which is a list of fdctxs of fds representing
  opened/created files. In the latter set, fdctxs are got directly from fd
  through fd_ctx_get(). Now there can be race conditions between two threads
  executing one procedure from these two sets. As an example let us consider
  following scenario:

  A flush operation is timed out and polling thread executing
  protocol_client_mark_fd_bad, fuse thread executing client_release. This can
  happen because, immediately a reply for flush is written to fuse, a release on
  the same fd can be sent to glusterfs and the polling thread still might be
  doing cleanup. Consider following set of events:

  1. fuse thread does fd_ctx_get (fd).
  2. polling thread gets the same fdctx but through conf-&gt;saved_fds.
  3. Now both threads go ahead and does list_del (fdctx) and eventually free
     fdctx.

  In other situations the same set events might occur and the threads
  executing fops other than flush in the second set might be accessing a
  fdctx freed in protocol_client_mark_fd_bad.

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

BUG: 127 (race-condition in accessing fdctx in protocol/client)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=127
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/client: 'connecting' event is properly notified.</title>
<updated>2009-08-21T02:05:24+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2009-08-20T18:36:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=6e90ebabd5f32233a1c01ee6edd2a2b88bcd38fd'/>
<id>6e90ebabd5f32233a1c01ee6edd2a2b88bcd38fd</id>
<content type='text'>
when there are no servers available to client, and transport init is
not successful, send 'connecting' event once to parent so it doesn't
hand in there.

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

BUG: 224 (Client hangs if none of the servers are up)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when there are no servers available to client, and transport init is
not successful, send 'connecting' event once to parent so it doesn't
hand in there.

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

BUG: 224 (Client hangs if none of the servers are up)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=224
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/client: fixed registration of saved_fds</title>
<updated>2009-08-07T08:24:33+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@dev.gluster.com</email>
</author>
<published>2009-08-06T21:51:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2be295d30acd61a919796227fef71f2757f88440'/>
<id>2be295d30acd61a919796227fef71f2757f88440</id>
<content type='text'>
In client_open_cbk, client_opendir_cbk the list_add_tail macros were invoked with wrong
ordered arguments, causing the existing registered fd list to get unlinked from the
saved_fds list. The effects of this is far fetched - when transport disconnects, open
fds are no more marked bad as they are not reachable from the saved_fds list. After
reconnection, resumed access on this fd causes reference to invalid fds on the server.
It could appear in the form of 'unresolved fd' error, readdir happening on a file fd,
files reading from other files, etc.

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

BUG: 192 (sefault in posix-readdir)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192

BUG: 126 (Immediate segfault when used for rootfs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=126

BUG: 173 ([ glusterfs 2.0.6rc1 ] - "server SEG fault")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=173

BUG: 194 (Apache+Booster results in inconsistent download size using wget)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=194
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In client_open_cbk, client_opendir_cbk the list_add_tail macros were invoked with wrong
ordered arguments, causing the existing registered fd list to get unlinked from the
saved_fds list. The effects of this is far fetched - when transport disconnects, open
fds are no more marked bad as they are not reachable from the saved_fds list. After
reconnection, resumed access on this fd causes reference to invalid fds on the server.
It could appear in the form of 'unresolved fd' error, readdir happening on a file fd,
files reading from other files, etc.

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

BUG: 192 (sefault in posix-readdir)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192

BUG: 126 (Immediate segfault when used for rootfs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=126

BUG: 173 ([ glusterfs 2.0.6rc1 ] - "server SEG fault")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=173

BUG: 194 (Apache+Booster results in inconsistent download size using wget)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=194
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/client: use translated flags in protocol/client open and create fops</title>
<updated>2009-07-08T02:32:18+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2009-07-07T20:42:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=cc89e50e19eedf324393798edc0f2aab9442a06e'/>
<id>cc89e50e19eedf324393798edc0f2aab9442a06e</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</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;
</pre>
</div>
</content>
</entry>
<entry>
<title>build warning fixes</title>
<updated>2009-06-30T23:33:45+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2009-06-30T17:48:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f6f1b35de108e089dbd7fbadf3632bc9dff992f5'/>
<id>f6f1b35de108e089dbd7fbadf3632bc9dff992f5</id>
<content type='text'>
integer typecast warnings fixed

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
integer typecast warnings fixed

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>client_xattrop: use dict_allocate_and_serialize during serializing xattr</title>
<updated>2009-06-30T22:24:54+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@zresearch.com</email>
</author>
<published>2009-06-30T00:15:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fccb91cba86a8219191d7f241f4c6a722d512b4e'/>
<id>fccb91cba86a8219191d7f241f4c6a722d512b4e</id>
<content type='text'>
- though the previous commit fixes bug #29, this patch fixes bugs
    arising in similar situations where xattrop is initiated by
    xlators other than afr.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- though the previous commit fixes bug #29, this patch fixes bugs
    arising in similar situations where xattrop is initiated by
    xlators other than afr.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>client: Replace saved_fds dict with list</title>
<updated>2009-06-30T21:36:27+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2009-06-15T13:05:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c1f2287c58e7101104756ac0ab416d989cc6b754'/>
<id>c1f2287c58e7101104756ac0ab416d989cc6b754</id>
<content type='text'>
Thhie change removes a huge inefficiency in file open
path where every open resulted in dictionary operations
in order to let the client maintain a list of fd_t's being
used over a particular client context.

Resolves: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=16

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thhie change removes a huge inefficiency in file open
path where every open resulted in dictionary operations
in order to let the client maintain a list of fd_t's being
used over a particular client context.

Resolves: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=16

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
