<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/protocol/client/src, branch v2.0.7</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<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>
<entry>
<title>Fix some trivial typos.</title>
<updated>2009-06-29T17:15:13+00:00</updated>
<author>
<name>Erick Tryzelaar</name>
<email>idadesub@users.sourceforge.net</email>
</author>
<published>2009-06-26T13:36:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=de622fb24f1295f19d7023cf903e84f663d89637'/>
<id>de622fb24f1295f19d7023cf903e84f663d89637</id>
<content type='text'>
I noticed that there were some minor spelling mistakes/typos in some
of the source files. This patch fixes the ones I've found.

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>
I noticed that there were some minor spelling mistakes/typos in some
of the source files. This patch fixes the ones I've found.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>version check between client/server made more specific to protocol only.</title>
<updated>2009-06-29T16:59:12+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2009-06-25T16:11:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=72e83f9b52b5ed4bbeed1cc1163dc8392ccf6b05'/>
<id>72e83f9b52b5ed4bbeed1cc1163dc8392ccf6b05</id>
<content type='text'>
This patch is a step towards giving compatibility between the versions of
GlusterFS. Now onwards, the protocol-version won't depend on release
versions. In general, multiple glusterfs versions can have common
protocol-version.

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>
This patch is a step towards giving compatibility between the versions of
GlusterFS. Now onwards, the protocol-version won't depend on release
versions. In general, multiple glusterfs versions can have common
protocol-version.

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