<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/libglusterfs/src/Makefile.am, branch v3.3.0qa32</title>
<subtitle>GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/'/>
<entry>
<title>libglusterfs: Implement circular buffer and event history</title>
<updated>2012-02-20T14:59:11+00:00</updated>
<author>
<name>Raghavendra Bhat</name>
<email>raghavendrabhat@gluster.com</email>
</author>
<published>2012-02-20T13:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=db20a0f8a99f715a77366e518720612f043d5c9e'/>
<id>db20a0f8a99f715a77366e518720612f043d5c9e</id>
<content type='text'>
Implement circular buffer framework, so that it can be used by other components
such as event history management. And event history is implemented which can
be used by xlator to dump some information to a file (such as information of some
structure etc).

Through statedump, history of each xlator can be dumped. An option called history
should be given to the statedump command.

Change-Id: I7c5e8f6bd1018584eaee856e933e7c4b94c6709c
BUG: 795419
Signed-off-by: Raghavendra Bhat &lt;raghavendrabhat@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2769
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement circular buffer framework, so that it can be used by other components
such as event history management. And event history is implemented which can
be used by xlator to dump some information to a file (such as information of some
structure etc).

Through statedump, history of each xlator can be dumped. An option called history
should be given to the statedump command.

Change-Id: I7c5e8f6bd1018584eaee856e933e7c4b94c6709c
BUG: 795419
Signed-off-by: Raghavendra Bhat &lt;raghavendrabhat@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2769
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/client,server: fcntl lock self healing.</title>
<updated>2012-02-20T12:45:31+00:00</updated>
<author>
<name>Mohammed Junaid</name>
<email>junaid@redhat.com</email>
</author>
<published>2012-02-08T12:36:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=f764516c2e526624ce0088963924ff2d88304553'/>
<id>f764516c2e526624ce0088963924ff2d88304553</id>
<content type='text'>
Currently(with out this patch), on a disconnect the server cleans up
the transport which inturn closes the fd's and releases the locks acquired on
those fd's by that client. On a reconnect, client just reopens the fd's but
doesn't reacquire the locks. The application that had previously acquired
the locks still is under the assumption that it is the owner of those locks
which might have been granted to other clients(if they request) by the server
leading to data corruption.

This patch allows the client to reacquire the fcntl locks (held on the fd's)
during client-server handshake.

* The server identifies the client via process-uuid-xl (which is a combination
  of uuid and client-protocol name, it is assumed to be unique) and lk-version
  number.

* The client maintains a list of process-uuid-xl, lk-version pair for each
  accepted connection. On a connect, the server traverses the list for a
  matching pair, if a matching pair is not found the the server returns
  lk-version with value 0, else it returns the lk-version it has in store.

* On a disconnect, the server and client enter grace period, and on the
  completion of the grace period, the client bumps up its lk-version number
  (which means, it will reacquire the locks the next time) and the server will
  distroy the connection. If reconnection happens within the grace period, the
  server will find the matching (process-uuid-xl, lk-version) pair in its list
  which guarantees that the fd's and there corresponding locks are still valid
  for this client.

Configurable options:
  To set grace-timeout, the following options are
    option server.grace-timeout value
    option client.grace-timeout value

  To enable or disable the lk-heal,
    option lk-heal [on|off]

gluster volume set command can be used to configurable options
Change-Id: Id677ef1087b300d649f278b8b2aa0d94eae85ed2
BUG: 795386
Signed-off-by: Mohammed Junaid &lt;junaid@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2766
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently(with out this patch), on a disconnect the server cleans up
the transport which inturn closes the fd's and releases the locks acquired on
those fd's by that client. On a reconnect, client just reopens the fd's but
doesn't reacquire the locks. The application that had previously acquired
the locks still is under the assumption that it is the owner of those locks
which might have been granted to other clients(if they request) by the server
leading to data corruption.

This patch allows the client to reacquire the fcntl locks (held on the fd's)
during client-server handshake.

* The server identifies the client via process-uuid-xl (which is a combination
  of uuid and client-protocol name, it is assumed to be unique) and lk-version
  number.

* The client maintains a list of process-uuid-xl, lk-version pair for each
  accepted connection. On a connect, the server traverses the list for a
  matching pair, if a matching pair is not found the the server returns
  lk-version with value 0, else it returns the lk-version it has in store.

* On a disconnect, the server and client enter grace period, and on the
  completion of the grace period, the client bumps up its lk-version number
  (which means, it will reacquire the locks the next time) and the server will
  distroy the connection. If reconnection happens within the grace period, the
  server will find the matching (process-uuid-xl, lk-version) pair in its list
  which guarantees that the fd's and there corresponding locks are still valid
  for this client.

Configurable options:
  To set grace-timeout, the following options are
    option server.grace-timeout value
    option client.grace-timeout value

  To enable or disable the lk-heal,
    option lk-heal [on|off]

gluster volume set command can be used to configurable options
Change-Id: Id677ef1087b300d649f278b8b2aa0d94eae85ed2
BUG: 795386
Signed-off-by: Mohammed Junaid &lt;junaid@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2766
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>core: change lk-owner as a 1k buffer</title>
<updated>2012-01-25T04:14:17+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2012-01-16T23:58:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b02afc6d008f9959db28244eb2b9dd3b9ef92393'/>
<id>b02afc6d008f9959db28244eb2b9dd3b9ef92393</id>
<content type='text'>
so, NLM can send the lk-owner field directly to the locks translators,
while doing the same effort, also enabled sending maximum of 500 aux gid
over protocol.

Change-Id: I87c2514392748416f7ffe21d5154faad2e413969
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
BUG: 767229
Reviewed-on: http://review.gluster.com/779
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
so, NLM can send the lk-owner field directly to the locks translators,
while doing the same effort, also enabled sending maximum of 500 aux gid
over protocol.

Change-Id: I87c2514392748416f7ffe21d5154faad2e413969
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
BUG: 767229
Reviewed-on: http://review.gluster.com/779
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bz 3826, fix for parallel make in fedora build system</title>
<updated>2011-12-02T07:19:32+00:00</updated>
<author>
<name>Kaleb KEITHLEY</name>
<email>kkeithle@f16node1.kkeithle.usersys.redhat.com</email>
</author>
<published>2011-12-01T17:44:38+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=430f76a6c1c9af06b433a9d6080168b92b30e034'/>
<id>430f76a6c1c9af06b433a9d6080168b92b30e034</id>
<content type='text'>
builds of glusterfs in the fedora build system often fail due to a
race condition between running yacc and starting to compile the y.tab.c
produced by yacc

We found that the previous fix would still occasionally trip the race
condition. This revised patch changes the automake Makefile.am to generate
the parser files without incurring the race condition. An extra dimension
of the problem is that the tarball from
  http://download.gluster.com/pub/gluster/glusterfs/3.2/3.2.5/glusterfs-3.2.5.tar.gz
contains files that you don't get when you clone from the git repo (e.g.
libgluster/src/{graph.lex.c,y.tab.c}, and all the Makefile.in files) so
build issues on fedora build systems do not manifest themselves on jenkins
and vice versa.

This works on jenkins, the fedora build system, and my f16 vm/guest
machines. (Finding the right combination that works on all three was an
exercise to say the least. I'm open to other suggestions for avoiding
the race condition.)

Run autogen.sh to (re)generate the Makefile.ins. Then run configure to
produce all Makefiles, followed by `make -j X` where X&gt;1

see also https://bugzilla.redhat.com/show_bug.cgi?id=756510

BUG: 3826
Change-Id: Iaeecb59c61a77bf3927da18253c83cf5ffed4254
Reviewed-on: http://review.gluster.com/765
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
builds of glusterfs in the fedora build system often fail due to a
race condition between running yacc and starting to compile the y.tab.c
produced by yacc

We found that the previous fix would still occasionally trip the race
condition. This revised patch changes the automake Makefile.am to generate
the parser files without incurring the race condition. An extra dimension
of the problem is that the tarball from
  http://download.gluster.com/pub/gluster/glusterfs/3.2/3.2.5/glusterfs-3.2.5.tar.gz
contains files that you don't get when you clone from the git repo (e.g.
libgluster/src/{graph.lex.c,y.tab.c}, and all the Makefile.in files) so
build issues on fedora build systems do not manifest themselves on jenkins
and vice versa.

This works on jenkins, the fedora build system, and my f16 vm/guest
machines. (Finding the right combination that works on all three was an
exercise to say the least. I'm open to other suggestions for avoiding
the race condition.)

Run autogen.sh to (re)generate the Makefile.ins. Then run configure to
produce all Makefiles, followed by `make -j X` where X&gt;1

see also https://bugzilla.redhat.com/show_bug.cgi?id=756510

BUG: 3826
Change-Id: Iaeecb59c61a77bf3927da18253c83cf5ffed4254
Reviewed-on: http://review.gluster.com/765
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>contrib/uuid: Make sure that uuid_types.h are generated per system specific.</title>
<updated>2011-12-01T07:13:55+00:00</updated>
<author>
<name>Harshavardhana</name>
<email>fharshav@redhat.com</email>
</author>
<published>2011-11-29T23:20:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=5d194403e96d97f82681b5e7d96ddf8e48858cb7'/>
<id>5d194403e96d97f82681b5e7d96ddf8e48858cb7</id>
<content type='text'>
Just the same way e2fsprogs maintains. This avoids unnecessary problems
for different architectures.

Change-Id: I3911998373756707996afb7b926ec0780ea18b81
BUG: 3833
Signed-off-by: Harshavardhana &lt;fharshav@redhat.com&gt;
Reviewed-on: http://review.gluster.com/764
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just the same way e2fsprogs maintains. This avoids unnecessary problems
for different architectures.

Change-Id: I3911998373756707996afb7b926ec0780ea18b81
BUG: 3833
Signed-off-by: Harshavardhana &lt;fharshav@redhat.com&gt;
Reviewed-on: http://review.gluster.com/764
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bz 3826, fix for parallel make in fedora build system</title>
<updated>2011-11-30T12:57:08+00:00</updated>
<author>
<name>Kaleb KEITHLEY</name>
<email>kkeithle@f16node1.kkeithle.usersys.redhat.com</email>
</author>
<published>2011-11-29T14:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=fbf6ce560dd6e72fc9d404e32d313732077a250f'/>
<id>fbf6ce560dd6e72fc9d404e32d313732077a250f</id>
<content type='text'>
builds of glusterfs in the fedora build system often fail due to a
race condition between running yacc and starting to compile the y.tab.c
produced by yacc

This patch changes the automake Makefile.am to generate the parser files
without incurring the race condition

This works on jenkins, the fedora build system, and my f16 vm/guest
machines. (Finding the right combination that works on all three was an
exercise to say the least. I'm open to other suggestions for avoiding
the race condition.)

Run autogen.sh to (re)generate the Makefile.ins. Then run configure to
produce all Makefiles, followed by `make -j X` where X&gt;1

see also https://bugzilla.redhat.com/show_bug.cgi?id=756510

BUG: 3826

Change-Id: I06ba0d0a1d59f0f44c0dd2cd9d227ca08d99e205
Reviewed-on: http://review.gluster.com/763
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
builds of glusterfs in the fedora build system often fail due to a
race condition between running yacc and starting to compile the y.tab.c
produced by yacc

This patch changes the automake Makefile.am to generate the parser files
without incurring the race condition

This works on jenkins, the fedora build system, and my f16 vm/guest
machines. (Finding the right combination that works on all three was an
exercise to say the least. I'm open to other suggestions for avoiding
the race condition.)

Run autogen.sh to (re)generate the Makefile.ins. Then run configure to
produce all Makefiles, followed by `make -j X` where X&gt;1

see also https://bugzilla.redhat.com/show_bug.cgi?id=756510

BUG: 3826

Change-Id: I06ba0d0a1d59f0f44c0dd2cd9d227ca08d99e205
Reviewed-on: http://review.gluster.com/763
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xlator options: revamp xlator option validation/reconfigure code</title>
<updated>2011-08-19T06:49:03+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2011-08-11T10:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=d2849bd349081b332540713cfeaa561f57356b2a'/>
<id>d2849bd349081b332540713cfeaa561f57356b2a</id>
<content type='text'>
- move option handling to options.c (new file)
- remove duplication of option validation code
- remove duplication of gf_log / sprintf
- get rid of xlator_t-&gt;validate_options
- get rid of option validation in rpc-transport
- get rid of validate_options() in every xlator
- use xlator_volume_option_get to clean up many functions
- introduce primitives to init/reconfigure option types

Change-Id: I51798af72c8dc0a2b9e017424036eb3667dfc7ff
BUG: 3415
Reviewed-on: http://review.gluster.com/235
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- move option handling to options.c (new file)
- remove duplication of option validation code
- remove duplication of gf_log / sprintf
- get rid of xlator_t-&gt;validate_options
- get rid of option validation in rpc-transport
- get rid of validate_options() in every xlator
- use xlator_volume_option_get to clean up many functions
- introduce primitives to init/reconfigure option types

Change-Id: I51798af72c8dc0a2b9e017424036eb3667dfc7ff
BUG: 3415
Reviewed-on: http://review.gluster.com/235
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Bring in os_daemon_* routines to replace modified FreeBSD code</title>
<updated>2011-07-28T09:52:41+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2011-07-25T10:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=55219903e32e750cfdf58260e7c3a2c4f2bfe16e'/>
<id>55219903e32e750cfdf58260e7c3a2c4f2bfe16e</id>
<content type='text'>
Change-Id: I41f4635b1b75adb6d22e2e325b99941f8d7a0b42
BUG: 3206
Reviewed-on: http://review.gluster.com/100
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I41f4635b1b75adb6d22e2e325b99941f8d7a0b42
BUG: 3206
Reviewed-on: http://review.gluster.com/100
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: add 'run' sub-lib for safe and convenient invocation of external programs</title>
<updated>2011-05-26T15:55:18+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@gluster.com</email>
</author>
<published>2011-05-26T03:32:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=302ad26982d1eb7762e743e14dda627ffb317379'/>
<id>302ad26982d1eb7762e743e14dda627ffb317379</id>
<content type='text'>
Summary:

- arguments first collected, then the invocation happens with fork + exec
- flexible specification of arguments (besides si{mp,ng}le argument
  addition, support for adding multiple of them at a time / specifying one with
  printf style formatting) [ ==&gt; goodbye printf percentage soup when composing
  commands ]
- single point of error check
- simple command runs are done in just one line
- support for redirection, popen(3) like functionality

API is documented in details in libglusterfs/src/run.h

Signed-off-by: Csaba Henk &lt;csaba@gluster.com&gt;
Signed-off-by: Anand Avati &lt;avati@gluster.com&gt;

BUG: 2562 (invoke external commands precisely with fork + exec)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2562
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:

- arguments first collected, then the invocation happens with fork + exec
- flexible specification of arguments (besides si{mp,ng}le argument
  addition, support for adding multiple of them at a time / specifying one with
  printf style formatting) [ ==&gt; goodbye printf percentage soup when composing
  commands ]
- single point of error check
- simple command runs are done in just one line
- support for redirection, popen(3) like functionality

API is documented in details in libglusterfs/src/run.h

Signed-off-by: Csaba Henk &lt;csaba@gluster.com&gt;
Signed-off-by: Anand Avati &lt;avati@gluster.com&gt;

BUG: 2562 (invoke external commands precisely with fork + exec)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2562
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: clean up memory types</title>
<updated>2011-05-26T15:55:13+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@gluster.com</email>
</author>
<published>2011-05-26T03:32:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=3435813379c276c3c020cb4e3942554be0040ecc'/>
<id>3435813379c276c3c020cb4e3942554be0040ecc</id>
<content type='text'>
Unify them in one header, weed out overlap.

Signed-off-by: Csaba Henk &lt;csaba@gluster.com&gt;
Signed-off-by: Anand Avati &lt;avati@gluster.com&gt;

BUG: 2562 (invoke external commands precisely with fork + exec)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2562
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unify them in one header, weed out overlap.

Signed-off-by: Csaba Henk &lt;csaba@gluster.com&gt;
Signed-off-by: Anand Avati &lt;avati@gluster.com&gt;

BUG: 2562 (invoke external commands precisely with fork + exec)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2562
</pre>
</div>
</content>
</entry>
</feed>
