<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/glusterfsd, branch v3.13.0</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>glusterfsd: Dereferencing the null pointer</title>
<updated>2017-10-20T02:31:47+00:00</updated>
<author>
<name>Sanju Rakonde</name>
<email>srakonde@redhat.com</email>
</author>
<published>2017-10-18T02:36:24+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=87bd25b64ae34cce95e87e724acfeab4c13d60a4'/>
<id>87bd25b64ae34cce95e87e724acfeab4c13d60a4</id>
<content type='text'>
Problem: When control reaches to out, one of (iobref, iobuf, frame) can
be null.for iobref, iobuf iobref_unref() and iobuf_unref() functions
are called respectively, which are using GF_VALIDATE_OR_GOTO(), so
there won't be null pointer dereference. But for frame without null
checking STACK_DESTROY(frame-&gt;root) is called causing null pointer
dereference.

Fix: adding a line for null checking, the function
STACK_DESTROY(frame-&gt;root) is called only when frame is not null.

Change-Id: I3a6684c11fb7b694b81d6ad4fec3bced5562ad88
BUG: 1503394
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: When control reaches to out, one of (iobref, iobuf, frame) can
be null.for iobref, iobuf iobref_unref() and iobuf_unref() functions
are called respectively, which are using GF_VALIDATE_OR_GOTO(), so
there won't be null pointer dereference. But for frame without null
checking STACK_DESTROY(frame-&gt;root) is called causing null pointer
dereference.

Fix: adding a line for null checking, the function
STACK_DESTROY(frame-&gt;root) is called only when frame is not null.

Change-Id: I3a6684c11fb7b694b81d6ad4fec3bced5562ad88
BUG: 1503394
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfproxyd: Let glusterd manage gfproxy daemon</title>
<updated>2017-10-18T14:15:05+00:00</updated>
<author>
<name>Poornima G</name>
<email>pgurusid@redhat.com</email>
</author>
<published>2017-10-10T09:15:03+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=77271e9c1efab628d00bc66803be923f451c0bfa'/>
<id>77271e9c1efab628d00bc66803be923f451c0bfa</id>
<content type='text'>
Updates: #242
BUG: 1428063
Change-Id: Iaaf2edf99b2ecc75f6d30762c752a6d445c1c826
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updates: #242
BUG: 1428063
Change-Id: Iaaf2edf99b2ecc75f6d30762c752a6d445c1c826
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfsd: Coverity Issue "MISSING_BREAK" in parse_opts</title>
<updated>2017-09-29T15:10:03+00:00</updated>
<author>
<name>Subha sree Mohankumar</name>
<email>smohanku@redhat.com</email>
</author>
<published>2017-09-22T14:04:12+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=8154e044e1b920b10d632d8c1e6d36007927b267'/>
<id>8154e044e1b920b10d632d8c1e6d36007927b267</id>
<content type='text'>
Issue:Event unterminated_case: 	The case for value
"ARGP_LOCALTIME_LOGGING_KEY" is not terminated by a
'break' statement.

Solution: A break statement is added in the fallthrough case.

Change-Id: Ie44d1a291afaa0e9fb9ef2aa45368b9401a8bb82
BUG: 789278
Signed-off-by: Subha sree Mohankumar &lt;smohanku@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue:Event unterminated_case: 	The case for value
"ARGP_LOCALTIME_LOGGING_KEY" is not terminated by a
'break' statement.

Solution: A break statement is added in the fallthrough case.

Change-Id: Ie44d1a291afaa0e9fb9ef2aa45368b9401a8bb82
BUG: 789278
Signed-off-by: Subha sree Mohankumar &lt;smohanku@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='http://dev.gluster.org/cgit/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>
<entry>
<title>Glusterfsd: Unreachable statements</title>
<updated>2017-09-26T13:06:33+00:00</updated>
<author>
<name>Sanju Rakonde</name>
<email>srakonde@redhat.com</email>
</author>
<published>2017-09-25T07:04:05+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=b269089a33bd1348d34c861817c3f673206b6a18'/>
<id>b269089a33bd1348d34c861817c3f673206b6a18</id>
<content type='text'>
Issue: Event unreachable at line number 1111 in glusterfsd/src/glusterfsd.c

There was a statement in outer if block after the break statement.
Ideally the break statement should be inside the inner if block so
that the statement will not become unreachable. I put the break
inside the inner if block.

Change-Id: Id4917305333e1638f35b3f2fb59ac42e62a12d02
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>
Issue: Event unreachable at line number 1111 in glusterfsd/src/glusterfsd.c

There was a statement in outer if block after the break statement.
Ideally the break statement should be inside the inner if block so
that the statement will not become unreachable. I put the break
inside the inner if block.

Change-Id: Id4917305333e1638f35b3f2fb59ac42e62a12d02
BUG: 789278
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mount/fuse: Make event-history feature configurable</title>
<updated>2017-09-24T06:22:07+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2017-09-07T13:18:34+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=956d43d6e89d40ee683547003b876f1f456f03b6'/>
<id>956d43d6e89d40ee683547003b876f1f456f03b6</id>
<content type='text'>
... and disable it by default.

This is because having it disabled seems to improve performance.
This could be due to the lock contention by the different epoll threads
on the circular buff lock in the fop cbks just before writing their response
to /dev/fuse.

Just to provide some data - wrt ovirt-gluster hyperconverged
environment, I saw an increase in IOPs by 12K with event-history
disabled for randrom read workload.

Usage:
mount -t glusterfs -o event-history=on $HOSTNAME:$VOLNAME $MOUNTPOINT
OR
glusterfs --event-history=on --volfile-server=$HOSTNAME --volfile-id=$VOLNAME $MOUNTPOINT

Change-Id: Ia533788d309c78688a315dc8cd04d30fad9e9485
BUG: 1467614
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... and disable it by default.

This is because having it disabled seems to improve performance.
This could be due to the lock contention by the different epoll threads
on the circular buff lock in the fop cbks just before writing their response
to /dev/fuse.

Just to provide some data - wrt ovirt-gluster hyperconverged
environment, I saw an increase in IOPs by 12K with event-history
disabled for randrom read workload.

Usage:
mount -t glusterfs -o event-history=on $HOSTNAME:$VOLNAME $MOUNTPOINT
OR
glusterfs --event-history=on --volfile-server=$HOSTNAME --volfile-id=$VOLNAME $MOUNTPOINT

Change-Id: Ia533788d309c78688a315dc8cd04d30fad9e9485
BUG: 1467614
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Command to identify client process</title>
<updated>2017-09-06T11:52:40+00:00</updated>
<author>
<name>hari gowtham</name>
<email>hgowtham@redhat.com</email>
</author>
<published>2017-08-21T10:11:42+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=ecef90aa414a4dcb0a0d520be2334f03d06a4451'/>
<id>ecef90aa414a4dcb0a0d520be2334f03d06a4451</id>
<content type='text'>
command: gluster volume status &lt;volname/all&gt; client-list

output:
Client connections for volume v1
Name                                                       count
-----                                                     ------
fuse                                                           2
tierd                                                          1

total clients for volume v1 : 3
-----------------------------------------------------------------

Client connections for volume v2
Name                                                       count
-----                                                     ------
tierd                                                          1
fuse.gsync                                                     1

total clients for volume v2 : 2
-----------------------------------------------------------------

Updates: #178
Change-Id: I0ff2579d6adf57cc0d3bd0161a2ec6ac6c4747c0
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18095
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: hari gowtham &lt;hari.gowtham005@gmail.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
command: gluster volume status &lt;volname/all&gt; client-list

output:
Client connections for volume v1
Name                                                       count
-----                                                     ------
fuse                                                           2
tierd                                                          1

total clients for volume v1 : 3
-----------------------------------------------------------------

Client connections for volume v2
Name                                                       count
-----                                                     ------
tierd                                                          1
fuse.gsync                                                     1

total clients for volume v2 : 2
-----------------------------------------------------------------

Updates: #178
Change-Id: I0ff2579d6adf57cc0d3bd0161a2ec6ac6c4747c0
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18095
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: hari gowtham &lt;hari.gowtham005@gmail.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Infra to indentify process</title>
<updated>2017-08-16T15:38:49+00:00</updated>
<author>
<name>hari gowtham</name>
<email>hgowtham@redhat.com</email>
</author>
<published>2017-07-25T12:37:05+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=def09c4fbb2805618715c5a125ddf482d7e53de3'/>
<id>def09c4fbb2805618715c5a125ddf482d7e53de3</id>
<content type='text'>
Problem: currently we can't identify which process is running and
how many instances of it are available.

Fix: name the process when its spawned and send it to the server
and save it in the client_t

The processes that abide by this change from this patch are:
1) fuse mount,
2) rebalance,
3) selfheal,
4) tier,
5) quota,
6) snapshot,
7) brick.
8) gfapi (by default. gfapi.&lt;processname&gt; if processname is found)

Note: fuse gets a process name as native-fuse-client by default.
If the user gives a name for the fuse and spawns it, it will be of
this type --process-name native-fuse-client.&lt;name_specified&gt;.
This can be made use by the process like aux mount done by quota,
geo-rep, etc by adding another option in the aux mount " -o
process-name=gsync_mount"

Updates: #178
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
Change-Id: Ie4d02257216839338043737691753bab9a974d5e
Reviewed-on: https://review.gluster.org/17957
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: hari gowtham &lt;hari.gowtham005@gmail.com&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: currently we can't identify which process is running and
how many instances of it are available.

Fix: name the process when its spawned and send it to the server
and save it in the client_t

The processes that abide by this change from this patch are:
1) fuse mount,
2) rebalance,
3) selfheal,
4) tier,
5) quota,
6) snapshot,
7) brick.
8) gfapi (by default. gfapi.&lt;processname&gt; if processname is found)

Note: fuse gets a process name as native-fuse-client by default.
If the user gives a name for the fuse and spawns it, it will be of
this type --process-name native-fuse-client.&lt;name_specified&gt;.
This can be made use by the process like aux mount done by quota,
geo-rep, etc by adding another option in the aux mount " -o
process-name=gsync_mount"

Updates: #178
Signed-off-by: hari gowtham &lt;hgowtham@redhat.com&gt;
Change-Id: Ie4d02257216839338043737691753bab9a974d5e
Reviewed-on: https://review.gluster.org/17957
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: hari gowtham &lt;hari.gowtham005@gmail.com&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfsd: allow subdir mount</title>
<updated>2017-08-04T05:26:42+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2017-07-19T17:38:05+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=590ae48c65a60c93c2e5407e3f663cef3daacc55'/>
<id>590ae48c65a60c93c2e5407e3f663cef3daacc55</id>
<content type='text'>
Changes:

1. Take subdir mount option in client (mount.gluster / glusterfsd)
2. Pass the subdir mount to server-handshake (from client-handshake)
3. Handle subdir-mount dir's lookup in server-first-lookup and handle
   all fops resolution accordingly with proper gfid of subdir
4. Change the auth/addr module to handle the multiple subdir entries
   in option, and valid parsing.

How to use the feature:

`# mount -t glusterfs $hostname:/$volname/$subdir /$mount_point`
Or
`# mount -t glusterfs $hostname:/$volname -osubdir_mount=$subdir /$mount_point`

Option can be set like:

`# gluster volume set &lt;volname&gt; auth.allow "/subdir1(192.168.1.*),/(192.168.10.*),/subdir2(192.168.8.*)"`

Updates #175

Change-Id: I7ea57f76ddbe6c3862cfe02e13f89e8a39719e11
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17141
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes:

1. Take subdir mount option in client (mount.gluster / glusterfsd)
2. Pass the subdir mount to server-handshake (from client-handshake)
3. Handle subdir-mount dir's lookup in server-first-lookup and handle
   all fops resolution accordingly with proper gfid of subdir
4. Change the auth/addr module to handle the multiple subdir entries
   in option, and valid parsing.

How to use the feature:

`# mount -t glusterfs $hostname:/$volname/$subdir /$mount_point`
Or
`# mount -t glusterfs $hostname:/$volname -osubdir_mount=$subdir /$mount_point`

Option can be set like:

`# gluster volume set &lt;volname&gt; auth.allow "/subdir1(192.168.1.*),/(192.168.10.*),/subdir2(192.168.8.*)"`

Updates #175

Change-Id: I7ea57f76ddbe6c3862cfe02e13f89e8a39719e11
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17141
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>logging: localtime logging, cmdline, volume set option</title>
<updated>2017-08-03T12:03:18+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2017-08-01T12:04:48+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=f68887999e89d894c3125e3b26517221ad1543fc'/>
<id>f68887999e89d894c3125e3b26517221ad1543fc</id>
<content type='text'>
Despite the fact that appliances generally use UTC, some
users really want log entries in localtime.

fixes gluster/glusterfs#272

feature page: https://review.gluster.org/17807

Change-Id: I5fbf2c3eedd9eb128fb3f851dd67b2f4081c8bba
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: https://review.gluster.org/16911
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Samikshan Bairagya &lt;samikshan@gmail.com&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Despite the fact that appliances generally use UTC, some
users really want log entries in localtime.

fixes gluster/glusterfs#272

feature page: https://review.gluster.org/17807

Change-Id: I5fbf2c3eedd9eb128fb3f851dd67b2f4081c8bba
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: https://review.gluster.org/16911
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Samikshan Bairagya &lt;samikshan@gmail.com&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
