<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/libglusterfs/src/Makefile.am, branch v3.7.19</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>features/ctr: Check for NULL local</title>
<updated>2016-07-27T12:58:27+00:00</updated>
<author>
<name>N Balachandran</name>
<email>nbalacha@redhat.com</email>
</author>
<published>2016-07-26T05:57:16+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=bda4a2be0bba608d61bd04815e92b2d4cc63e7f2'/>
<id>bda4a2be0bba608d61bd04815e92b2d4cc63e7f2</id>
<content type='text'>
This is a defensive fix to prevent a crash reported
during a rename operation. This is not reproducible
under normal circumstances.

This patch also moves ctr-messages.h to the src dir
of the changetimerecorder xlator.

Backported from master: http://review.gluster.org/#/c/14964/

Change-Id: I2aac2d4da5752f6a0b45a70e0d97a4d506532ff4
BUG: 1360125
Signed-off-by: N Balachandran &lt;nbalacha@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15007
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Milind Changire &lt;mchangir@redhat.com&gt;
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a defensive fix to prevent a crash reported
during a rename operation. This is not reproducible
under normal circumstances.

This patch also moves ctr-messages.h to the src dir
of the changetimerecorder xlator.

Backported from master: http://review.gluster.org/#/c/14964/

Change-Id: I2aac2d4da5752f6a0b45a70e0d97a4d506532ff4
BUG: 1360125
Signed-off-by: N Balachandran &lt;nbalacha@redhat.com&gt;
Reviewed-on: http://review.gluster.org/15007
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Milind Changire &lt;mchangir@redhat.com&gt;
Reviewed-by: Dan Lambright &lt;dlambrig@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/bitrot: Move throttling code to libglusterfs</title>
<updated>2016-07-19T13:14:13+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2016-07-01T10:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=2526f9d3ddc3e7f62828ac4289001b22638ae42a'/>
<id>2526f9d3ddc3e7f62828ac4289001b22638ae42a</id>
<content type='text'>
Backport of  http://review.gluster.org/14846

Since throttling is a separate feature by itself,
move throttling code to libglusterfs.

Change-Id: If9b99885ceb46e5b1865a4af18b2a2caecf59972
BUG: 1357514
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14944
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of  http://review.gluster.org/14846

Since throttling is a separate feature by itself,
move throttling code to libglusterfs.

Change-Id: If9b99885ceb46e5b1865a4af18b2a2caecf59972
BUG: 1357514
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14944
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>core : Use correct path in dlopen for socket.so</title>
<updated>2015-12-28T05:36:49+00:00</updated>
<author>
<name>Atin Mukherjee</name>
<email>amukherj@redhat.com</email>
</author>
<published>2015-11-19T06:30:23+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=15965dd310192cae8f05fddda309e77ff5c72ca2'/>
<id>15965dd310192cae8f05fddda309e77ff5c72ca2</id>
<content type='text'>
Backport of http://review.gluster.org/12656

This patch fixes the path for socket.so file while loading the so dynamically.
Also for config.memory-accounting &amp; config.transport voltype is changed to
glusterd to fix the warning message coming from xlator_volopt_dynload

Change-Id: I0f7964814586f2018d4922b23c683f4e1eb3098e
BUG: 1283833
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12656
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12670
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/12656

This patch fixes the path for socket.so file while loading the so dynamically.
Also for config.memory-accounting &amp; config.transport voltype is changed to
glusterd to fix the warning message coming from xlator_volopt_dynload

Change-Id: I0f7964814586f2018d4922b23c683f4e1eb3098e
BUG: 1283833
Signed-off-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12656
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12670
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>core: add "gf_ref_t" for common refcounting structures</title>
<updated>2015-06-27T05:26:24+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-05-31T13:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=d1cfdc873e9c50c0ada8e57b646f14bbeb3c2ef3'/>
<id>d1cfdc873e9c50c0ada8e57b646f14bbeb3c2ef3</id>
<content type='text'>
Checks for compiler supported atomic operations comes from client_t.h.

An example usage of this change can be found in adding reference
counting to "struct auth_cache_entry" in http://review.gluster.org/11023

Basic usage looks like this:

   #include "refcount.h"

   struct my_struct {
       GF_REF_DECL;
       ... /* more members */
   }

   void my_destructor (void *data)
   {
       struct my_struct *my_ptr = (struct my_struct *) data;

       ... /* do some more cleanups */
       GF_FREE (my_ptr);
   }

   void init_ptr (struct parent *parent)
   {
       struct my_struct *my_ptr = malloc (sizeof (struct my_struct));

       GF_REF_INIT (my_ptr, my_destructor); /* refcount is set to 1 */

       ... /* my_ptr probably gets added to some parent structure */
       parent_add_ptr (parent, my_ptr);
   }

   void do_something (struct parent *parent)
   {
       struct my_struct *my_ptr = NULL;

       /* likely need to lock parent, depends on its access pattern */
       my_ptr = parent_remove_first_ptr (parent);
       /* unlock parent */

       ... /* do something */

       GF_REF_PUT (my_ptr); /* calls my_destructor on refcount = 0 */
   }

URL: http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/11202
Change-Id: Idb98a5861a44c31676108ed8876db12c320912ef
BUG: 1235939
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11022
Reviewed-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
(cherry picked from commit ea1d2b0045e2c2ad82a2162a58f9fc36f9d07b20)
Reviewed-on: http://review.gluster.org/11421
Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
Tested-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Checks for compiler supported atomic operations comes from client_t.h.

An example usage of this change can be found in adding reference
counting to "struct auth_cache_entry" in http://review.gluster.org/11023

Basic usage looks like this:

   #include "refcount.h"

   struct my_struct {
       GF_REF_DECL;
       ... /* more members */
   }

   void my_destructor (void *data)
   {
       struct my_struct *my_ptr = (struct my_struct *) data;

       ... /* do some more cleanups */
       GF_FREE (my_ptr);
   }

   void init_ptr (struct parent *parent)
   {
       struct my_struct *my_ptr = malloc (sizeof (struct my_struct));

       GF_REF_INIT (my_ptr, my_destructor); /* refcount is set to 1 */

       ... /* my_ptr probably gets added to some parent structure */
       parent_add_ptr (parent, my_ptr);
   }

   void do_something (struct parent *parent)
   {
       struct my_struct *my_ptr = NULL;

       /* likely need to lock parent, depends on its access pattern */
       my_ptr = parent_remove_first_ptr (parent);
       /* unlock parent */

       ... /* do something */

       GF_REF_PUT (my_ptr); /* calls my_destructor on refcount = 0 */
   }

URL: http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/11202
Change-Id: Idb98a5861a44c31676108ed8876db12c320912ef
BUG: 1235939
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11022
Reviewed-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
(cherry picked from commit ea1d2b0045e2c2ad82a2162a58f9fc36f9d07b20)
Reviewed-on: http://review.gluster.org/11421
Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
Tested-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Introducing new logging message</title>
<updated>2015-06-22T09:31:38+00:00</updated>
<author>
<name>Mohamed Ashiq</name>
<email>ashiq333@gmail.com</email>
</author>
<published>2015-05-18T06:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=db4beb00c6dfb45367b8869fcaa813c83f1aa8eb'/>
<id>db4beb00c6dfb45367b8869fcaa813c83f1aa8eb</id>
<content type='text'>
        Backport of http://review.gluster.org/9898

Cherry picked from a2a370db6db80e9365d0777701786ce706957f42
&gt;Change-Id: I137f1b7805895810b8e6f0a70a183782bf472bf5
&gt;BUG: 1194640
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
&gt;Reviewed-on: http://review.gluster.org/9898
&gt;Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;Tested-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;

Change-Id: I137f1b7805895810b8e6f0a70a183782bf472bf5
BUG: 1217722
Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11223
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        Backport of http://review.gluster.org/9898

Cherry picked from a2a370db6db80e9365d0777701786ce706957f42
&gt;Change-Id: I137f1b7805895810b8e6f0a70a183782bf472bf5
&gt;BUG: 1194640
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
&gt;Reviewed-on: http://review.gluster.org/9898
&gt;Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;Tested-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;

Change-Id: I137f1b7805895810b8e6f0a70a183782bf472bf5
BUG: 1217722
Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11223
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>changetimerecorder : port log messages to a new framework</title>
<updated>2015-06-17T08:12:14+00:00</updated>
<author>
<name>Mohamed Ashiq</name>
<email>ashiq333@gmail.com</email>
</author>
<published>2015-05-27T09:50:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=5c5ae2f29e32d701310407f78fcdbc62da127e95'/>
<id>5c5ae2f29e32d701310407f78fcdbc62da127e95</id>
<content type='text'>
        Backport of http://review.gluster.org/#/c/10938/

Cherry picked from 00f9a61fe8884062c141edd662424625d349a377
&gt;Change-Id: I66e7ccc5e62482c3ecf0aab302568e6c9ecdc05d
&gt;BUG: 1194640
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
&gt;Reviewed-on: http://review.gluster.org/10938
&gt;Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt;Reviewed-by: Joseph Fernandes
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;

Change-Id: I66e7ccc5e62482c3ecf0aab302568e6c9ecdc05d
BUG: 1217722
Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11195
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Joseph Fernandes
Tested-by: Joseph Fernandes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        Backport of http://review.gluster.org/#/c/10938/

Cherry picked from 00f9a61fe8884062c141edd662424625d349a377
&gt;Change-Id: I66e7ccc5e62482c3ecf0aab302568e6c9ecdc05d
&gt;BUG: 1194640
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
&gt;Reviewed-on: http://review.gluster.org/10938
&gt;Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt;Reviewed-by: Joseph Fernandes
&gt;Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;

Change-Id: I66e7ccc5e62482c3ecf0aab302568e6c9ecdc05d
BUG: 1217722
Signed-off-by: Mohamed Ashiq &lt;ashiq333@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11195
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Joseph Fernandes
Tested-by: Joseph Fernandes
</pre>
</div>
</content>
</entry>
<entry>
<title>core: Global timer-wheel</title>
<updated>2015-05-10T12:27:40+00:00</updated>
<author>
<name>Venky Shankar</name>
<email>vshankar@redhat.com</email>
</author>
<published>2015-04-24T04:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=1a217b2a0295ca4d9068ee5c17d6a4374cc5f8fc'/>
<id>1a217b2a0295ca4d9068ee5c17d6a4374cc5f8fc</id>
<content type='text'>
Instantiate a process wide global instance of the timer wheel
data structure. Spawning glusterfs* process with option arg
"--global-timer-wheel" instantiates a global instance of
timer-wheel under global context (-&gt;ctx).

Translators can make use of this process wide instance [via a
call to glusterfs_global_timer_wheel()] instead of maintaining
an instance of their own and possibly consuming more memory.
Linux kernel too has a single instance of timer wheel where
subsystems such as IO, networking, etc.. make use of.

Bitrot daemon would be early consumers of this: bitrot translator
instances for multiple volumes would track objects belonging to
their respective bricks in this global expiry tracking data
structure. This is also a first step to move GlusterFS timer
mechanism to use timer-wheel.

&gt; Change-Id: Ie882df607e07acaced846ea269ebf1ece306d6ae
&gt; BUG: 1170075
&gt; Signed-off-by: Venky Shankar &lt;vshankar@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10380
&gt; Tested-by: NetBSD Build System
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: I35c840daa9996a059699f8ea5af54c76ede7e09c
Signed-off-by: Venky Shankar &lt;vshankar@redhat.com&gt;
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
BUG: 1220041
Reviewed-on: http://review.gluster.org/10716
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instantiate a process wide global instance of the timer wheel
data structure. Spawning glusterfs* process with option arg
"--global-timer-wheel" instantiates a global instance of
timer-wheel under global context (-&gt;ctx).

Translators can make use of this process wide instance [via a
call to glusterfs_global_timer_wheel()] instead of maintaining
an instance of their own and possibly consuming more memory.
Linux kernel too has a single instance of timer wheel where
subsystems such as IO, networking, etc.. make use of.

Bitrot daemon would be early consumers of this: bitrot translator
instances for multiple volumes would track objects belonging to
their respective bricks in this global expiry tracking data
structure. This is also a first step to move GlusterFS timer
mechanism to use timer-wheel.

&gt; Change-Id: Ie882df607e07acaced846ea269ebf1ece306d6ae
&gt; BUG: 1170075
&gt; Signed-off-by: Venky Shankar &lt;vshankar@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10380
&gt; Tested-by: NetBSD Build System
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: I35c840daa9996a059699f8ea5af54c76ede7e09c
Signed-off-by: Venky Shankar &lt;vshankar@redhat.com&gt;
Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
BUG: 1220041
Reviewed-on: http://review.gluster.org/10716
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>core: use reference counting for mem_acct structures</title>
<updated>2015-05-09T21:27:36+00:00</updated>
<author>
<name>Jeff Darcy</name>
<email>jdarcy@redhat.com</email>
</author>
<published>2015-04-28T08:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=a3af10a801a40fe990ee5db63c6dd6cb97713e4c'/>
<id>a3af10a801a40fe990ee5db63c6dd6cb97713e4c</id>
<content type='text'>
When freeing memory, our memory-accounting code expects to be able to
dereference from the (previously) allocated block to its owning
translator.  However, as we have already found once in option
validation and twice in logging, that translator might itself have
been freed and the dereference attempt causes on of our daemons to
crash with SIGSEGV.  This patch attempts to fix that as follows:

 * We no longer embed a struct mem_acct directly in a struct xlator,
   but instead allocate it separately.

 * Allocated memory blocks now contain a pointer to the mem_acct
   instead of the xlator.

 * The mem_acct structure contains a reference count, manipulated in
   both the normal and translator allocate/free code using atomic
   increments and decrements.

 * Because it's now a separate structure, we can defer freeing the
   mem_acct until its reference count reaches zero (either way).

 * Some unit tests were disabled, because they embedded their own
   copies of the implementation for what they were supposedly testing.
   Life's too short to spend time fixing tests that seem designed to
   impede progress by requiring a certain implementation as well as
   behavior.

Change-Id: Id929b11387927136f78626901729296b6c0d0fd7
BUG: 1219026
Signed-off-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10417
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10723
Tested-by: NetBSD Build System
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When freeing memory, our memory-accounting code expects to be able to
dereference from the (previously) allocated block to its owning
translator.  However, as we have already found once in option
validation and twice in logging, that translator might itself have
been freed and the dereference attempt causes on of our daemons to
crash with SIGSEGV.  This patch attempts to fix that as follows:

 * We no longer embed a struct mem_acct directly in a struct xlator,
   but instead allocate it separately.

 * Allocated memory blocks now contain a pointer to the mem_acct
   instead of the xlator.

 * The mem_acct structure contains a reference count, manipulated in
   both the normal and translator allocate/free code using atomic
   increments and decrements.

 * Because it's now a separate structure, we can defer freeing the
   mem_acct until its reference count reaches zero (either way).

 * Some unit tests were disabled, because they embedded their own
   copies of the implementation for what they were supposedly testing.
   Life's too short to spend time fixing tests that seem designed to
   impede progress by requiring a certain implementation as well as
   behavior.

Change-Id: Id929b11387927136f78626901729296b6c0d0fd7
BUG: 1219026
Signed-off-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10417
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10723
Tested-by: NetBSD Build System
</pre>
</div>
</content>
</entry>
<entry>
<title>Upcall: Send stat as part of cache_invalidation notifications</title>
<updated>2015-05-07T11:23:28+00:00</updated>
<author>
<name>Soumya Koduri</name>
<email>skoduri@redhat.com</email>
</author>
<published>2015-04-30T07:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=04b3a04b6dd497ea423cb725b5b4c8f05490dbdd'/>
<id>04b3a04b6dd497ea423cb725b5b4c8f05490dbdd</id>
<content type='text'>
Have added support to send attributes of both entries and
its parent (include oldparent in case of RENAME fop) in the
same notification request to avoid multiple rpc requests.

Also, made changes in gfapi to send parent object and its
attributes changed in a single upcall event.

Change-Id: I92833da3bcec38d65216921c2ce4d10367c32ef1
BUG: 1217711
Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10568
Tested-by: NetBSD Build System
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.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>
Have added support to send attributes of both entries and
its parent (include oldparent in case of RENAME fop) in the
same notification request to avoid multiple rpc requests.

Also, made changes in gfapi to send parent object and its
attributes changed in a single upcall event.

Change-Id: I92833da3bcec38d65216921c2ce4d10367c32ef1
BUG: 1217711
Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10568
Tested-by: NetBSD Build System
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Implement cluster-syncop</title>
<updated>2015-05-05T10:14:25+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2015-04-14T08:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=7dd7d6ce904661173bdbb156e23d096f9b02464e'/>
<id>7dd7d6ce904661173bdbb156e23d096f9b02464e</id>
<content type='text'>
        Backport of http://review.gluster.org/10240

This patch implements syncop equivalent for cluster of xlators. The xlators on
which the fop needs to be performed is taken in input arguments to the
functions and the responses are gathered and provided as the output.

This idea is taken from afr-v2 self-heal implementation by Avati.

BUG: 1216303
Change-Id: I189400ea5bb3205aae928a72afbb6c960968b65a
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10439
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        Backport of http://review.gluster.org/10240

This patch implements syncop equivalent for cluster of xlators. The xlators on
which the fop needs to be performed is taken in input arguments to the
functions and the responses are gathered and provided as the output.

This idea is taken from afr-v2 self-heal implementation by Avati.

BUG: 1216303
Change-Id: I189400ea5bb3205aae928a72afbb6c960968b65a
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10439
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
