<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/libglusterfs/src/stack.h, branch v4.1.7</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>ctime: Fix updating ctime in rename and unlink</title>
<updated>2018-05-24T07:42:39+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2018-05-15T17:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=54f61abc7b1adffdf1e1cc3568e4df4d23da9a77'/>
<id>54f61abc7b1adffdf1e1cc3568e4df4d23da9a77</id>
<content type='text'>
1. Successful rename was not updating ctime.
   Fixed the same.
2. Successful unlink when link count is more than 1
   was not updating ctime. Fixed the same.
3. Copy ctime and flags during frame copy.

Backport of:
 &gt; Patch: https://review.gluster.org/20039
 &gt; BUG: 1580020
 &gt; Change-Id: Ied47275a36aea60254b2add7a59128a9c83b3645

fixes: bz#1582068
Change-Id: Ied47275a36aea60254b2add7a59128a9c83b3645
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. Successful rename was not updating ctime.
   Fixed the same.
2. Successful unlink when link count is more than 1
   was not updating ctime. Fixed the same.
3. Copy ctime and flags during frame copy.

Backport of:
 &gt; Patch: https://review.gluster.org/20039
 &gt; BUG: 1580020
 &gt; Change-Id: Ied47275a36aea60254b2add7a59128a9c83b3645

fixes: bz#1582068
Change-Id: Ied47275a36aea60254b2add7a59128a9c83b3645
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>posix/ctime: posix hook to set ctime xattr in relevant fops</title>
<updated>2018-05-06T01:39:08+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2018-04-02T12:31:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=f8fe0771f0b450713595a7d298ed5a758cf2ce3e'/>
<id>f8fe0771f0b450713595a7d298ed5a758cf2ce3e</id>
<content type='text'>
This patch uses the ctime posix APIs to set consistent
time across replica on disk. It also stores the time
attributes in the inode context.

Credits: Rafi KC &lt;rkavunga@redhat.com&gt;
Updates: #208
Change-Id: I1a8d74d1e251f1d6d142f066fc99258025c0bcdd
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch uses the ctime posix APIs to set consistent
time across replica on disk. It also stores the time
attributes in the inode context.

Credits: Rafi KC &lt;rkavunga@redhat.com&gt;
Updates: #208
Change-Id: I1a8d74d1e251f1d6d142f066fc99258025c0bcdd
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>core: provide infra to make any xlator pass-through</title>
<updated>2018-03-09T18:32:56+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2018-02-13T00:54:18+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=940f870f4716f9cd32c68db95aa326a0ae87bf03'/>
<id>940f870f4716f9cd32c68db95aa326a0ae87bf03</id>
<content type='text'>
updates: #304

Change-Id: If6a13d2e56b195390a386d720103a882e077f66c
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
updates: #304

Change-Id: If6a13d2e56b195390a386d720103a882e077f66c
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xlators/features/namespace: Add namespace xlator and link into brick graph</title>
<updated>2018-02-21T09:52:17+00:00</updated>
<author>
<name>Varsha Rao</name>
<email>varao@redhat.com</email>
</author>
<published>2018-02-12T05:07:15+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=d0e7177416be3005b3f092addf0bba4dd9dc7a2d'/>
<id>d0e7177416be3005b3f092addf0bba4dd9dc7a2d</id>
<content type='text'>
The following release-3.8-fb branch patch is upstreamed:
&gt; features/namespace: Add namespace xlator and link into brick graph
&gt; Commit ID: dbd30776f26e
&gt; https://review.gluster.org/#/c/18041/
&gt; By Michael Goulet &lt;mgoulet@fb.com&gt;

Changes in this patch:
Removes extra config.h and namespace.h file in namespace.c
Adds default_getspec_cbk to libglusterfs.sym
Rename dict_for_each to dict_foreach_inline
Remove fd.h header file stack.h
Add test case for truncate, open and symlink

This patch is required to forward port io-threads namespace patch.
Updates: #401

Change-Id: Ib88c95b89eecee9b8957df8a4c8712c899c761d1
Signed-off-by: Varsha Rao &lt;varao@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following release-3.8-fb branch patch is upstreamed:
&gt; features/namespace: Add namespace xlator and link into brick graph
&gt; Commit ID: dbd30776f26e
&gt; https://review.gluster.org/#/c/18041/
&gt; By Michael Goulet &lt;mgoulet@fb.com&gt;

Changes in this patch:
Removes extra config.h and namespace.h file in namespace.c
Adds default_getspec_cbk to libglusterfs.sym
Rename dict_for_each to dict_foreach_inline
Remove fd.h header file stack.h
Add test case for truncate, open and symlink

This patch is required to forward port io-threads namespace patch.
Updates: #401

Change-Id: Ib88c95b89eecee9b8957df8a4c8712c899c761d1
Signed-off-by: Varsha Rao &lt;varao@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc/*: auth-header changes</title>
<updated>2018-01-17T06:00:39+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2017-11-06T18:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=75b063d76d78b5d1e0e53a1be37dc5ad9200f7b2'/>
<id>75b063d76d78b5d1e0e53a1be37dc5ad9200f7b2</id>
<content type='text'>
Introduce another authentication header which can now send more data.
This is useful because this data can be common for all the fops, and
we don't need to change all the signatures.

As part of this, made rpc-clnt.c little more modular to support multiple
authentication structures.

stack.h changes are placeholder for the ctime etc, can be moved later
based on need.

updates #384

Change-Id: I6111c13cfd2ec92e2b4e9295896bf62a8a33b2c7
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce another authentication header which can now send more data.
This is useful because this data can be common for all the fops, and
we don't need to change all the signatures.

As part of this, made rpc-clnt.c little more modular to support multiple
authentication structures.

stack.h changes are placeholder for the ctime etc, can be moved later
based on need.

updates #384

Change-Id: I6111c13cfd2ec92e2b4e9295896bf62a8a33b2c7
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: fix the call_stack_set_group() function</title>
<updated>2017-11-24T16:54:44+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2017-11-16T08:47:00+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=f3a8953e6a72631dc29958e996388ffed2f5940a'/>
<id>f3a8953e6a72631dc29958e996388ffed2f5940a</id>
<content type='text'>
- call_stack_set_group() will take the ownership of passed
  buffer from caller;
- to indicate the change, its signature is changed from
  including the buffer directly to take a pointer to it;
- either the content of the buffer is copied to the
  groups_small embedded buffer of the call stack, or
  the buffer is set as groups_large member of the call
  stack;
- the groups member of the call stack is set to,
  respectively, groups_small or groups_large, according
  to the memory management conventions of the call stack;
- the buffer address is overwritten with junk to effectively
  prevent the caller from using it further on.

Also move call_stack_set_group to stack.c from stack.h
to prevent "defined but not used [-Wunused-function]"
warnings (not using it anymore in call_stack_alloc_group()
implementation, which saved us from this so far).

protocol/server: refactor gid_resolve()

In gid_resolve there are two cases:
either the gid_cache_lookup() call returns
a value or not. The result is caputured in
the agl variable, and throughout the function,
each particular stage of the implementation
comes with an agl and a no-agl variant.

In most cases this is explicitly indicated
via an

   if (agl) {
      ...
   } else {
      ...
   }

but some of this branching are expressed via
goto constructs (obfuscating the fact we stated
above, that is, each particular stage having
an agl/no-agl variant).

In the current refactor, we bring the agl
conditional to the top, and present the
agl/non-agl implementations sequentially.

Also we take the opportunity to clean up and
fix the agl case:
- remove the spurious
    gl.gl_list = agl-&gt;gl_list;
  setting, as gl is not used in the agl caae
- populate the group list of call stack from
  agl, fixing thus referred BUG.

Also fixes BUG: 1513920

Change-Id: I61f4574ba21969f7661b9ff0c9dce202b874025d
BUG: 1513928
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- call_stack_set_group() will take the ownership of passed
  buffer from caller;
- to indicate the change, its signature is changed from
  including the buffer directly to take a pointer to it;
- either the content of the buffer is copied to the
  groups_small embedded buffer of the call stack, or
  the buffer is set as groups_large member of the call
  stack;
- the groups member of the call stack is set to,
  respectively, groups_small or groups_large, according
  to the memory management conventions of the call stack;
- the buffer address is overwritten with junk to effectively
  prevent the caller from using it further on.

Also move call_stack_set_group to stack.c from stack.h
to prevent "defined but not used [-Wunused-function]"
warnings (not using it anymore in call_stack_alloc_group()
implementation, which saved us from this so far).

protocol/server: refactor gid_resolve()

In gid_resolve there are two cases:
either the gid_cache_lookup() call returns
a value or not. The result is caputured in
the agl variable, and throughout the function,
each particular stage of the implementation
comes with an agl and a no-agl variant.

In most cases this is explicitly indicated
via an

   if (agl) {
      ...
   } else {
      ...
   }

but some of this branching are expressed via
goto constructs (obfuscating the fact we stated
above, that is, each particular stage having
an agl/no-agl variant).

In the current refactor, we bring the agl
conditional to the top, and present the
agl/non-agl implementations sequentially.

Also we take the opportunity to clean up and
fix the agl case:
- remove the spurious
    gl.gl_list = agl-&gt;gl_list;
  setting, as gl is not used in the agl caae
- populate the group list of call stack from
  agl, fixing thus referred BUG.

Also fixes BUG: 1513920

Change-Id: I61f4574ba21969f7661b9ff0c9dce202b874025d
BUG: 1513928
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xlator: add more metrics per fops</title>
<updated>2017-11-08T08:33:22+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2017-09-12T17:31:46+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b79f29694165a65666d4177619d57b54641e4255'/>
<id>b79f29694165a65666d4177619d57b54641e4255</id>
<content type='text'>
Make sure to handle these counters in STACK_WIND/UNWIND macro, and
keep the counters as part of xlator_t structure itself, to provide
infra to monitoring.

Updates #137

Change-Id: Ib54d45e2321c2b095dac5810c37e6cdffe1f71b7
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure to handle these counters in STACK_WIND/UNWIND macro, and
keep the counters as part of xlator_t structure itself, to provide
infra to monitoring.

Updates #137

Change-Id: Ib54d45e2321c2b095dac5810c37e6cdffe1f71b7
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stack: change gettimeofday() to clock_gettime()</title>
<updated>2017-11-06T14:23:49+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2017-09-25T11:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=125fc934e7f4c669f67e5eec5b0e3dae3a2b6d72'/>
<id>125fc934e7f4c669f67e5eec5b0e3dae3a2b6d72</id>
<content type='text'>
For achieving the above, needed below changes too.

* more sanity into how 'frame-&gt;op' is assigned.
* infra to have 'stats' as separate section in 'xlator_t' structure

Updates #137

Change-Id: I36679bf9577f3ed00a695b4e7d92870dcb3db8e1
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For achieving the above, needed below changes too.

* more sanity into how 'frame-&gt;op' is assigned.
* infra to have 'stats' as separate section in 'xlator_t' structure

Updates #137

Change-Id: I36679bf9577f3ed00a695b4e7d92870dcb3db8e1
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stack.h: make sure 'oldgroups' is never null</title>
<updated>2017-10-18T13:55:24+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2017-10-13T06:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=e848410ab6d13871be6b57101788ea5183efe75c'/>
<id>e848410ab6d13871be6b57101788ea5183efe75c</id>
<content type='text'>
If 'oldgroups' is null, it can lead to a crash.

Change-Id: I7a4f71256b07dc0ca3b988cad3694c21b150c99e
BUG: 789278
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If 'oldgroups' is null, it can lead to a crash.

Change-Id: I7a4f71256b07dc0ca3b988cad3694c21b150c99e
BUG: 789278
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stack.h:PW.INCLUDE_RECURSION</title>
<updated>2017-09-29T07:46:53+00:00</updated>
<author>
<name>Sanju Rakonde</name>
<email>srakonde@redhat.com</email>
</author>
<published>2017-09-25T11:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=2c124b5256bac5830d81552bfb4412620aa6cfb0'/>
<id>2c124b5256bac5830d81552bfb4412620aa6cfb0</id>
<content type='text'>
The headerfile globals.h is recursively adding itself.
( globals.h -&gt; xlator.h -&gt; stack.h -&gt; globals.h).
We are finding the source files which are including the header
file globals.h and removing the inclusion line.

I used git grep -l stack.h | xargs git grep globals.h --
to find out the files and removed the header file from all files
except libglusterfs/src/xlator.h and libglusterfs/src/Makefile.am

When I try to remove header file from libglusterfs/src/xlator.h
I'm getting some errors. In libglusterfs/src/Makefile.am it is
required for building RPMs.

Change-Id: I537218c09ade6d7ea51717768b26563a247daf60
BUG: 789278
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The headerfile globals.h is recursively adding itself.
( globals.h -&gt; xlator.h -&gt; stack.h -&gt; globals.h).
We are finding the source files which are including the header
file globals.h and removing the inclusion line.

I used git grep -l stack.h | xargs git grep globals.h --
to find out the files and removed the header file from all files
except libglusterfs/src/xlator.h and libglusterfs/src/Makefile.am

When I try to remove header file from libglusterfs/src/xlator.h
I'm getting some errors. In libglusterfs/src/Makefile.am it is
required for building RPMs.

Change-Id: I537218c09ade6d7ea51717768b26563a247daf60
BUG: 789278
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
