<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators, branch v3.2.6qa6</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>geo-rep / gsyncd: fix cleanup of temporary mounts</title>
<updated>2012-03-09T14:14:22+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2012-03-09T08:11:23+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fafd5c17c0d126e10b401199cd4f01f7786deef8'/>
<id>fafd5c17c0d126e10b401199cd4f01f7786deef8</id>
<content type='text'>
The "finally" clause that was meant to cleanup after the
temp mount has not covered the case of getting signalled
(eg. by monitor, upon worker timing out).

So here we "outsource" the cleanup to an ephemeral child process.
Child calls setsid(2) so it won't be bothered by internal process
management. We use a pipe in between worker and the cleanup child;
when child sees the worker end getting closed, it performs the cleanup.
Worker end can get closed either because worker closes it (normal case),
or because worker has terminated (faulty case) -- thus as bonus, we get
a nice uniform handling with no need to differentiate between normal and
faulty cases.

The faulty case that was seen IRL -- ie., users of maintainance mounts
hang in chdir(2) to mount point -- can be simulated for testing purposes
by applying the following patch:

diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index acd3c68..1ce5dc1 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -2918,7 +2918,7 @@ fuse_init (xlator_t *this, fuse_in_header_t *finh, void *msg)
         if (fini-&gt;minor &lt; 9)
                 *priv-&gt;msg0_len_p = sizeof(*finh) + FUSE_COMPAT_WRITE_IN_SIZE;
 #endif
-        ret = send_fuse_obj (this, finh, &amp;fino);
+        ret = priv-&gt;client_pid_set ? 0 : send_fuse_obj (this, finh, &amp;fino);
         if (ret == 0)
                 gf_log ("glusterfs-fuse", GF_LOG_INFO,
                         "FUSE inited with protocol versions:"

Change-Id: I1172bf16ac1006bad48958655572155820e5138d
BUG: 786291
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2908
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Venky Shankar &lt;vshankar@redhat.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "finally" clause that was meant to cleanup after the
temp mount has not covered the case of getting signalled
(eg. by monitor, upon worker timing out).

So here we "outsource" the cleanup to an ephemeral child process.
Child calls setsid(2) so it won't be bothered by internal process
management. We use a pipe in between worker and the cleanup child;
when child sees the worker end getting closed, it performs the cleanup.
Worker end can get closed either because worker closes it (normal case),
or because worker has terminated (faulty case) -- thus as bonus, we get
a nice uniform handling with no need to differentiate between normal and
faulty cases.

The faulty case that was seen IRL -- ie., users of maintainance mounts
hang in chdir(2) to mount point -- can be simulated for testing purposes
by applying the following patch:

diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index acd3c68..1ce5dc1 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -2918,7 +2918,7 @@ fuse_init (xlator_t *this, fuse_in_header_t *finh, void *msg)
         if (fini-&gt;minor &lt; 9)
                 *priv-&gt;msg0_len_p = sizeof(*finh) + FUSE_COMPAT_WRITE_IN_SIZE;
 #endif
-        ret = send_fuse_obj (this, finh, &amp;fino);
+        ret = priv-&gt;client_pid_set ? 0 : send_fuse_obj (this, finh, &amp;fino);
         if (ret == 0)
                 gf_log ("glusterfs-fuse", GF_LOG_INFO,
                         "FUSE inited with protocol versions:"

Change-Id: I1172bf16ac1006bad48958655572155820e5138d
BUG: 786291
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2908
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Venky Shankar &lt;vshankar@redhat.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gsyncd: geo-rep: Reduce excessive verbosity in logging</title>
<updated>2012-03-06T17:46:21+00:00</updated>
<author>
<name>Venky Shankar</name>
<email>vshankar@redhat.com</email>
</author>
<published>2012-03-06T12:05:25+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=e657569da2789b1338c81db3d533b90657997a8d'/>
<id>e657569da2789b1338c81db3d533b90657997a8d</id>
<content type='text'>
Backport logging enhancement from master. This patch
reduces per-second logging to per-minute logging during
crawl

Change-Id: Ie51207e6dd8a0257e59f90239cc6960803673223
BUG: 789078
Signed-off-by: Venky Shankar &lt;vshankar@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2879
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>
Backport logging enhancement from master. This patch
reduces per-second logging to per-minute logging during
crawl

Change-Id: Ie51207e6dd8a0257e59f90239cc6960803673223
BUG: 789078
Signed-off-by: Venky Shankar &lt;vshankar@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2879
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>xlator/lib: Drain out sent requests to avoid multiple STACK_UNWINDs</title>
<updated>2012-03-06T13:09:35+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2012-03-06T05:38:46+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=5fe34f3adbff8c9333f3d3ef47a99a1221aa9afb'/>
<id>5fe34f3adbff8c9333f3d3ef47a99a1221aa9afb</id>
<content type='text'>
Change-Id: Id48c468934ac64ec52e279ded8949c2a7a760598
BUG: 789078
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2871
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Venky Shankar &lt;vshankar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Id48c468934ac64ec52e279ded8949c2a7a760598
BUG: 789078
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2871
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Venky Shankar &lt;vshankar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor xlator/lib for better readability &amp; maintainability.</title>
<updated>2012-03-03T07:40:32+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2012-03-02T16:51:01+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=8127a6f35ec3090505cdfbbf28798b4da63a1688'/>
<id>8127a6f35ec3090505cdfbbf28798b4da63a1688</id>
<content type='text'>
Change-Id: I26532f1bf7cab58b5870a6117f2a62288ee1f23d
BUG: 789078
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2859
Reviewed-by: Pranith Kumar Karampuri &lt;pranithk@gluster.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I26532f1bf7cab58b5870a6117f2a62288ee1f23d
BUG: 789078
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2859
Reviewed-by: Pranith Kumar Karampuri &lt;pranithk@gluster.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep / syncdaemon: make the timeout for establishing the connection to slave configurable</title>
<updated>2012-03-01T17:28:20+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2012-02-29T09:21:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=532f2d36e72b4e30984e437ca5a3507de5e897d9'/>
<id>532f2d36e72b4e30984e437ca5a3507de5e897d9</id>
<content type='text'>
It can be set through the connection-timeout tunable but we keep it hidden,
intended as a workaround for some special scenarios not for general use.

Change-Id: I31f9fa3873afa7babc2106ee34484123a01bdc57
BUG: 789078
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2840
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>
It can be set through the connection-timeout tunable but we keep it hidden,
intended as a workaround for some special scenarios not for general use.

Change-Id: I31f9fa3873afa7babc2106ee34484123a01bdc57
BUG: 789078
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2840
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: writev(): don't unwind if rpc_submit failed</title>
<updated>2012-02-20T08:48:44+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2012-02-20T07:09:07+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=662958b584e7e3dff7610ec79fe4f5b9aa9a4f21'/>
<id>662958b584e7e3dff7610ec79fe4f5b9aa9a4f21</id>
<content type='text'>
because rpc_submit does call 'cbk()' from inside if sending fails.
no need to unwind in higher layers

Change-Id: I08611ce742fba7032f68e3fe0f52a78a18a5714e
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
BUG: 767359
Reviewed-on: http://review.gluster.com/2770
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>
because rpc_submit does call 'cbk()' from inside if sending fails.
no need to unwind in higher layers

Change-Id: I08611ce742fba7032f68e3fe0f52a78a18a5714e
Signed-off-by: Amar Tumballi &lt;amar@gluster.com&gt;
BUG: 767359
Reviewed-on: http://review.gluster.com/2770
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>nfs/server: Add counters for hard resolution</title>
<updated>2012-02-14T10:58:15+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2012-02-14T09:18:43+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=cd3ad588f206a902027e6045e15c55380f33998d'/>
<id>cd3ad588f206a902027e6045e15c55380f33998d</id>
<content type='text'>
Change-Id: Id7b26731b750b63d645222dde18cd9fe4ed54018
BUG: 785314
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2745
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Id7b26731b750b63d645222dde18cd9fe4ed54018
BUG: 785314
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2745
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>support for nano second resolution for mtime,ctime,atime attributes.</title>
<updated>2012-02-09T06:51:40+00:00</updated>
<author>
<name>krishna</name>
<email>ksriniva@redhat.com</email>
</author>
<published>2012-02-09T06:38:07+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fa580e9299e09562c395bd464f3a1cf8a1116d6e'/>
<id>fa580e9299e09562c395bd464f3a1cf8a1116d6e</id>
<content type='text'>
Change-Id: Id5078f270d0fec280b53d4aa7b16bbaf42a2df05
BUG: 784095
Signed-off-by: krishna &lt;ksriniva@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2729
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Id5078f270d0fec280b53d4aa7b16bbaf42a2df05
BUG: 784095
Signed-off-by: krishna &lt;ksriniva@redhat.com&gt;
Reviewed-on: http://review.gluster.com/2729
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixes bug-765574, failure to build from hardened source</title>
<updated>2012-01-26T10:19:30+00:00</updated>
<author>
<name>Louis Zuckerman</name>
<email>glusterbugs@louiszuckerman.com</email>
</author>
<published>2012-01-06T16:03:21+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=2741c0a27e23e908fe77a6c14695cbee879accd5'/>
<id>2741c0a27e23e908fe77a6c14695cbee879accd5</id>
<content type='text'>
Glusterfs 3.2.5 failed to build on Debian which prevented the
Debian project from updating their package to the latest release
version.

There were two changes needed, in both cases just adding a
printf format string argument to a call to gf_log.

The compiler error was that the argument was neither a string
literal nor a format string.  It was instead a pointer to a string.
The obvious solution was to add a format argument of "%s" before
the string pointer argument.

This has been tested successfully on Debian Sid.

Change-Id: I62c8a46938184c8a37224c2481bd1de00369ab19
Signed-off-by: louis zuckerman &lt;glusterbugs@louiszuckerman.com&gt;
Reviewed-on: http://review.gluster.com/2598
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@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>
Glusterfs 3.2.5 failed to build on Debian which prevented the
Debian project from updating their package to the latest release
version.

There were two changes needed, in both cases just adding a
printf format string argument to a call to gf_log.

The compiler error was that the argument was neither a string
literal nor a format string.  It was instead a pointer to a string.
The obvious solution was to add a format argument of "%s" before
the string pointer argument.

This has been tested successfully on Debian Sid.

Change-Id: I62c8a46938184c8a37224c2481bd1de00369ab19
Signed-off-by: louis zuckerman &lt;glusterbugs@louiszuckerman.com&gt;
Reviewed-on: http://review.gluster.com/2598
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mgmt/glusterd: do not assert if op_ctx is NULL</title>
<updated>2012-01-24T16:37:03+00:00</updated>
<author>
<name>Raghavendra Bhat</name>
<email>raghavendrabhat@gluster.com</email>
</author>
<published>2012-01-23T12:40:47+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=d831aa3a75c0dfb7cf849bac6a00b3ba3897afde'/>
<id>d831aa3a75c0dfb7cf849bac6a00b3ba3897afde</id>
<content type='text'>
In glusterd_op_send_cli_response we are asserting if op_ctx is NULL.
But in handler functions of different ops, we are sending op_ctx NULL
which is valid, but still glusterd will assert.

Change-Id: I37824c694d14e87a234389d639dfb000592f9513
BUG: 783913
Signed-off-by: Raghavendra Bhat &lt;raghavendrabhat@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2678
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kp@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>
In glusterd_op_send_cli_response we are asserting if op_ctx is NULL.
But in handler functions of different ops, we are sending op_ctx NULL
which is valid, but still glusterd will assert.

Change-Id: I37824c694d14e87a234389d639dfb000592f9513
BUG: 783913
Signed-off-by: Raghavendra Bhat &lt;raghavendrabhat@gluster.com&gt;
Reviewed-on: http://review.gluster.com/2678
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kp@gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
