<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/nfs/server/src, branch v3.7.5</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>nfs : logging improvements</title>
<updated>2015-09-15T16:13:13+00:00</updated>
<author>
<name>Manikandan Selvaganesh</name>
<email>mselvaga@redhat.com</email>
</author>
<published>2015-08-17T09:39:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2e65b7aa6fe8fd03c1bea83d8b1d81ed4a774207'/>
<id>2e65b7aa6fe8fd03c1bea83d8b1d81ed4a774207</id>
<content type='text'>
NFS log-warning messages logged twice in cbk function. Though,
the logging messages are not exactly duplicate, instead of
logging twice, they can be merged to one log message and the
other log message is removed in cbk functions.

Example:
(1)
W [nfs3.c:2075:nfs3svc_write_cbk] 0-nfs: 16f4dce6:
        /f.195 =&gt; -1 (Disk quota exceeded)
(2)
W [nfs3-helpers.c:3443:nfs3_log_write_res] 0-nfs-nfsv3:
        XID: 16f4dce6, WRITE: NFS: 69(Resource (quota)
        hard limit exceeded), POSIX: 122
        (Disk quota exceeded), count: 0, UNSTABLE,
        wverf: 1381508849

Here, the second message is more elaborative, and is similar
to (1). Since file name is not present in (2), it is added to (2)
and then removing all mesages of type (1).

        Backport of http://review.gluster.org/#/c/11936/

Cherry picked from commit 0166dca4f268f07dcbf9db7ca971ed16e296e8b7
&gt; Change-Id: I6028ab17b23948493a065dfad92fe4984548511f
&gt; BUG: 1254146
&gt; Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11936
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I6028ab17b23948493a065dfad92fe4984548511f
BUG: 1262344
Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12162
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
NFS log-warning messages logged twice in cbk function. Though,
the logging messages are not exactly duplicate, instead of
logging twice, they can be merged to one log message and the
other log message is removed in cbk functions.

Example:
(1)
W [nfs3.c:2075:nfs3svc_write_cbk] 0-nfs: 16f4dce6:
        /f.195 =&gt; -1 (Disk quota exceeded)
(2)
W [nfs3-helpers.c:3443:nfs3_log_write_res] 0-nfs-nfsv3:
        XID: 16f4dce6, WRITE: NFS: 69(Resource (quota)
        hard limit exceeded), POSIX: 122
        (Disk quota exceeded), count: 0, UNSTABLE,
        wverf: 1381508849

Here, the second message is more elaborative, and is similar
to (1). Since file name is not present in (2), it is added to (2)
and then removing all mesages of type (1).

        Backport of http://review.gluster.org/#/c/11936/

Cherry picked from commit 0166dca4f268f07dcbf9db7ca971ed16e296e8b7
&gt; Change-Id: I6028ab17b23948493a065dfad92fe4984548511f
&gt; BUG: 1254146
&gt; Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11936
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I6028ab17b23948493a065dfad92fe4984548511f
BUG: 1262344
Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12162
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rpc: add owner xlator argument to rpc_clnt_new</title>
<updated>2015-08-14T10:10:47+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2015-06-27T05:34:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=6d3d4dba5276aea924ec275ae00b69c70fa975c0'/>
<id>6d3d4dba5276aea924ec275ae00b69c70fa975c0</id>
<content type='text'>
The @owner argument tells RPC layer the xlator that owns
the connection and to which xlator THIS needs be set during
network notifications like CONNECT and DISCONNECT.

Code paths that originate from the head of a (volume) graph and use
STACK_WIND ensure that the RPC local endpoint has the right xlator saved
in the frame of the call (callback pair). This guarantees that the
callback is executed in the right xlator context.

The client handshake process which includes fetching of brick ports from
glusterd, setting lk-version on the brick for the session, don't have
the correct xlator set in their frames. The problem lies with RPC
notifications. It doesn't have the provision to set THIS with the xlator
that is registered with the corresponding RPC programs. e.g,
RPC_CLNT_CONNECT event received by protocol/client doesn't have THIS set
to its xlator. This implies, call(-callbacks) originating from this
thread don't have the right xlator set too.

The fix would be to save the xlator registered with the RPC connection
during rpc_clnt_new. e.g, protocol/client's xlator would be saved with
the RPC connection that it 'owns'. RPC notifications such as CONNECT,
DISCONNECT, etc inherit THIS from the RPC connection's xlator.

Change-Id: I9dea2c35378c511d800ef58f7fa2ea5552f2c409
BUG: 1253212
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11436
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
(cherry picked from commit f7668938cd7745d024f3d2884e04cd744d0a69ab)
Reviewed-on: http://review.gluster.org/11908
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The @owner argument tells RPC layer the xlator that owns
the connection and to which xlator THIS needs be set during
network notifications like CONNECT and DISCONNECT.

Code paths that originate from the head of a (volume) graph and use
STACK_WIND ensure that the RPC local endpoint has the right xlator saved
in the frame of the call (callback pair). This guarantees that the
callback is executed in the right xlator context.

The client handshake process which includes fetching of brick ports from
glusterd, setting lk-version on the brick for the session, don't have
the correct xlator set in their frames. The problem lies with RPC
notifications. It doesn't have the provision to set THIS with the xlator
that is registered with the corresponding RPC programs. e.g,
RPC_CLNT_CONNECT event received by protocol/client doesn't have THIS set
to its xlator. This implies, call(-callbacks) originating from this
thread don't have the right xlator set too.

The fix would be to save the xlator registered with the RPC connection
during rpc_clnt_new. e.g, protocol/client's xlator would be saved with
the RPC connection that it 'owns'. RPC notifications such as CONNECT,
DISCONNECT, etc inherit THIS from the RPC connection's xlator.

Change-Id: I9dea2c35378c511d800ef58f7fa2ea5552f2c409
BUG: 1253212
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11436
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
(cherry picked from commit f7668938cd7745d024f3d2884e04cd744d0a69ab)
Reviewed-on: http://review.gluster.org/11908
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: a unix-domain-socket should not be created as fifo</title>
<updated>2015-07-23T16:01:45+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-07-17T07:51:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2815a8c778fb6c17c6dfe908a82e840687c29a98'/>
<id>2815a8c778fb6c17c6dfe908a82e840687c29a98</id>
<content type='text'>
Cherry picked from commit 381afd4f480533f212e1f62a0ccfd9dcf7248e17:
&gt; Change-Id: Ic6a23165df1703b330636a059967c3c674dbde57
&gt; BUG: 1235231
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11355
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: Ic6a23165df1703b330636a059967c3c674dbde57
BUG: 1244114
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11708
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.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>
Cherry picked from commit 381afd4f480533f212e1f62a0ccfd9dcf7248e17:
&gt; Change-Id: Ic6a23165df1703b330636a059967c3c674dbde57
&gt; BUG: 1235231
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11355
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: Ic6a23165df1703b330636a059967c3c674dbde57
BUG: 1244114
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11708
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: refcount each auth_cache_entry and related data_t</title>
<updated>2015-07-18T08:35:57+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-07-13T10:16:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=85a7ad784e92f4b0bedb44f7e64bf4e9adfae5ce'/>
<id>85a7ad784e92f4b0bedb44f7e64bf4e9adfae5ce</id>
<content type='text'>
This makes sure that all the auth_cache_entry structures are only free'd
when there is no reference to it anymore. When it is free'd, the
associated data_t from the auth_cache-&gt;cache_dict gets unref'd too.

Upon calling auth_cache_purge(), the auth_cache-&gt;cache_dict will free
each auth_cache_entry in a secure way.

Cherry picked from commit 7b51bd636fc5e5e1ae48a4e7cba48d0d20878d15:
&gt; Change-Id: If097cc11838e43599040f5414f82b30fc0fd40c6
&gt; BUG: 1226717
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11023
&gt; Reviewed-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;

Change-Id: If097cc11838e43599040f5414f82b30fc0fd40c6
BUG: 1242515
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11646
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes sure that all the auth_cache_entry structures are only free'd
when there is no reference to it anymore. When it is free'd, the
associated data_t from the auth_cache-&gt;cache_dict gets unref'd too.

Upon calling auth_cache_purge(), the auth_cache-&gt;cache_dict will free
each auth_cache_entry in a secure way.

Cherry picked from commit 7b51bd636fc5e5e1ae48a4e7cba48d0d20878d15:
&gt; Change-Id: If097cc11838e43599040f5414f82b30fc0fd40c6
&gt; BUG: 1226717
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11023
&gt; Reviewed-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;

Change-Id: If097cc11838e43599040f5414f82b30fc0fd40c6
BUG: 1242515
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11646
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Xavier Hernandez &lt;xhernandez@datalab.es&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: add a gf_lock_t for the auth_cache-&gt;cache_dict</title>
<updated>2015-07-18T08:35:16+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-07-13T10:14:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3d6dacd69ca439e338ad59bfab53ce6c72b028d0'/>
<id>3d6dacd69ca439e338ad59bfab53ce6c72b028d0</id>
<content type='text'>
This is the 1st step towards implementing reference counters for the
auth_cache_entry structure. Access to the structures should always be
done atomically, but this can not be guaranteed by the a dict.

Cherry picked from commit 67f7562b5cc9e42774d1dc569471f86f61eef040:
&gt; Change-Id: Ic165221d72f11832177976c989823d861cf12f01
&gt; BUG: 1226717
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11021
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;

Change-Id: Ic165221d72f11832177976c989823d861cf12f01
BUG: 1242515
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11645
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the 1st step towards implementing reference counters for the
auth_cache_entry structure. Access to the structures should always be
done atomically, but this can not be guaranteed by the a dict.

Cherry picked from commit 67f7562b5cc9e42774d1dc569471f86f61eef040:
&gt; Change-Id: Ic165221d72f11832177976c989823d861cf12f01
&gt; BUG: 1226717
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11021
&gt; Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;

Change-Id: Ic165221d72f11832177976c989823d861cf12f01
BUG: 1242515
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11645
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: Authentication performance improvements</title>
<updated>2015-06-17T02:03:43+00:00</updated>
<author>
<name>Shreyas Siravara</name>
<email>sshreyas@fb.com</email>
</author>
<published>2015-06-12T20:11:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=7d6351fa2a3ade7fa55d13f79fd576e048e44a8b'/>
<id>7d6351fa2a3ade7fa55d13f79fd576e048e44a8b</id>
<content type='text'>
When file operations are sent to the NFS server, authorized filehandles
are cached using the exportid, mountid, gfid and host as the key to the
cache. This meant that any file OR directory will always fail on the
*first* fop to that filehandle since the cache used the gfid as part of
the key to the cache. However, if an export is authorized, this
effectively means that ALL subdirectories and files in the export
directory are authorized per the permissions of the export. This results
slow times to walking a directory structure over an NFS mount.

Cherry picked from commit a9f58cd6cfc29a47af868fff29ce3133b9f9efe5)
&gt; Change-Id: Iad811ad7255b454d1712e75a637478401d40791e
&gt; BUG: 1232165
&gt; Signed-off-by: Shreyas Siravara &lt;sshreyas@fb.com&gt;
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11245
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: Iad811ad7255b454d1712e75a637478401d40791e
BUG: 1231366
Signed-off-by: Shreyas Siravara &lt;sshreyas@fb.com&gt;
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11256
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When file operations are sent to the NFS server, authorized filehandles
are cached using the exportid, mountid, gfid and host as the key to the
cache. This meant that any file OR directory will always fail on the
*first* fop to that filehandle since the cache used the gfid as part of
the key to the cache. However, if an export is authorized, this
effectively means that ALL subdirectories and files in the export
directory are authorized per the permissions of the export. This results
slow times to walking a directory structure over an NFS mount.

Cherry picked from commit a9f58cd6cfc29a47af868fff29ce3133b9f9efe5)
&gt; Change-Id: Iad811ad7255b454d1712e75a637478401d40791e
&gt; BUG: 1232165
&gt; Signed-off-by: Shreyas Siravara &lt;sshreyas@fb.com&gt;
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11245
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: Iad811ad7255b454d1712e75a637478401d40791e
BUG: 1231366
Signed-off-by: Shreyas Siravara &lt;sshreyas@fb.com&gt;
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11256
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs.c nfs3.c: port log messages to a new framework</title>
<updated>2015-06-14T10:45:53+00:00</updated>
<author>
<name>Hari Gowtham</name>
<email>hari.gowtham005@gmail.com</email>
</author>
<published>2015-04-13T10:36:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=475b236dc572dbfabdbda047d80567b909c266cd'/>
<id>475b236dc572dbfabdbda047d80567b909c266cd</id>
<content type='text'>
        Backport of http://review.gluster.org/#/c/10216/

Cherry picked from 6601aad8380f0f0ccbd4bb9147d8d3584a88da20
&gt; Change-Id: I9ddb90d66d3ad3adb2916c0c949834794ee7bdf3
&gt; BUG: 1194640
&gt; Signed-off-by: Hari Gowtham &lt;hari.gowtham005@gmail.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10216
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I9ddb90d66d3ad3adb2916c0c949834794ee7bdf3
BUG: 1217722
Signed-off-by: Hari Gowtham &lt;hari.gowtham005@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11146
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@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>
        Backport of http://review.gluster.org/#/c/10216/

Cherry picked from 6601aad8380f0f0ccbd4bb9147d8d3584a88da20
&gt; Change-Id: I9ddb90d66d3ad3adb2916c0c949834794ee7bdf3
&gt; BUG: 1194640
&gt; Signed-off-by: Hari Gowtham &lt;hari.gowtham005@gmail.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10216
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I9ddb90d66d3ad3adb2916c0c949834794ee7bdf3
BUG: 1217722
Signed-off-by: Hari Gowtham &lt;hari.gowtham005@gmail.com&gt;
Reviewed-on: http://review.gluster.org/11146
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: allocate and return the hashkey for the auth_cache_entry</title>
<updated>2015-06-09T17:09:22+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-06-03T19:53:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=cccd1e3cce7873e873c7266af703f4f77ff4c679'/>
<id>cccd1e3cce7873e873c7266af703f4f77ff4c679</id>
<content type='text'>
The allocation of the hashkey was never returned to the calling
function.

Allocating it with alloca() puts it on the stack, returning from the
function makes the pointer invalid. Functions that are annotated with
"inline" and call alloca(), will not always be inlined. Returning a
pointer allocated with alloca() is in those cases not correct. One such
confirmation was provided by GCC developer Alexandre Oliva:
 - http://gcc.gnu.org/ml/gcc-help/2004-04/msg00158.html

It is more correct to call GF_MALLOC() and GF_FREE() for the hashkey. If
this would result in preformance hit, we can always think of using
alloca() again and turn make_hashkey() into a macro (yuck).

Cherry picked from commit b8b59fea7822f9ab1e10d7a3f730354fe82a6097:
&gt; Change-Id: Ia86a1f79d33240af4713bfb92f702b0ee6e87eb7
&gt; BUG: 1226714
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11019
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Reviewed-by: soumya k &lt;skoduri@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: Ia86a1f79d33240af4713bfb92f702b0ee6e87eb7
BUG: 1227916
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11075
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The allocation of the hashkey was never returned to the calling
function.

Allocating it with alloca() puts it on the stack, returning from the
function makes the pointer invalid. Functions that are annotated with
"inline" and call alloca(), will not always be inlined. Returning a
pointer allocated with alloca() is in those cases not correct. One such
confirmation was provided by GCC developer Alexandre Oliva:
 - http://gcc.gnu.org/ml/gcc-help/2004-04/msg00158.html

It is more correct to call GF_MALLOC() and GF_FREE() for the hashkey. If
this would result in preformance hit, we can always think of using
alloca() again and turn make_hashkey() into a macro (yuck).

Cherry picked from commit b8b59fea7822f9ab1e10d7a3f730354fe82a6097:
&gt; Change-Id: Ia86a1f79d33240af4713bfb92f702b0ee6e87eb7
&gt; BUG: 1226714
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/11019
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Reviewed-by: soumya k &lt;skoduri@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: Ia86a1f79d33240af4713bfb92f702b0ee6e87eb7
BUG: 1227916
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11075
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: Use uuid_clear() instead of memset</title>
<updated>2015-06-01T09:21:00+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-05-16T08:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=99ab3637b2b457c866a46a7d109b09e2d4a23e5d'/>
<id>99ab3637b2b457c866a46a7d109b09e2d4a23e5d</id>
<content type='text'>
Fixes the following incorrect usage:

mount3.c: In function '__mnt3_build_mountid_from_path':
mount3.c:705:24: warning: 'sizeof' on array function parameter 'mountid' will
return size of 'unsigned char *' [-Wsizeof-array-argument]
         length = sizeof(mountid);
                        ^
mount3.c:699:58: note: declared here
 __mnt3_build_mountid_from_path (const char *path, uuid_t mountid)
                                                          ^
mount3.c: In function '__mnt3_get_mount_id':
mount3.c:732:24: warning: 'sizeof' on array function parameter 'mountid' will
return size of 'unsigned char *' [-Wsizeof-array-argument]
         length = sizeof(mountid);
                        ^
mount3.c:726:46: note: declared here
 __mnt3_get_mount_id (xlator_t *mntxl, uuid_t mountid)

Cherry picked from commit df12f00851a234b0e892af4b958e606a1fa660ed:
&gt; Change-Id: I08f46c5994578fc99a7b61681e808d1115e41d71
&gt; BUG: 1221095
&gt; Signed-off-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10765
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: I08f46c5994578fc99a7b61681e808d1115e41d71
BUG: 1222198
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10798
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes the following incorrect usage:

mount3.c: In function '__mnt3_build_mountid_from_path':
mount3.c:705:24: warning: 'sizeof' on array function parameter 'mountid' will
return size of 'unsigned char *' [-Wsizeof-array-argument]
         length = sizeof(mountid);
                        ^
mount3.c:699:58: note: declared here
 __mnt3_build_mountid_from_path (const char *path, uuid_t mountid)
                                                          ^
mount3.c: In function '__mnt3_get_mount_id':
mount3.c:732:24: warning: 'sizeof' on array function parameter 'mountid' will
return size of 'unsigned char *' [-Wsizeof-array-argument]
         length = sizeof(mountid);
                        ^
mount3.c:726:46: note: declared here
 __mnt3_get_mount_id (xlator_t *mntxl, uuid_t mountid)

Cherry picked from commit df12f00851a234b0e892af4b958e606a1fa660ed:
&gt; Change-Id: I08f46c5994578fc99a7b61681e808d1115e41d71
&gt; BUG: 1221095
&gt; Signed-off-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10765
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;

Change-Id: I08f46c5994578fc99a7b61681e808d1115e41d71
BUG: 1222198
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10798
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: allocate the auth_cache-&gt;cache_dict on auth_cache_init()</title>
<updated>2015-05-08T03:07:03+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2015-05-07T22:05:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=44d860c7061f7ef375001251876d91c2ec2db86f'/>
<id>44d860c7061f7ef375001251876d91c2ec2db86f</id>
<content type='text'>
It seems possible that auth_cache-&gt;cache_dict is not always allocated
before it is accessed. Instead of allocating the dict upon the 1st
access, just create it in auth_cache_init().

Cherry picked from commit eb8847703b8560a045e7ed0336f895bcceda98ea:
&gt; Change-Id: I00e60522478b433cb0aae0c1f0948eac544dfd2b
&gt; URL: http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10710
&gt; BUG: 1143880
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10600
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Tested-by: NetBSD Build System

Change-Id: I00e60522478b433cb0aae0c1f0948eac544dfd2b
BUG: 1212182
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10655
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>
It seems possible that auth_cache-&gt;cache_dict is not always allocated
before it is accessed. Instead of allocating the dict upon the 1st
access, just create it in auth_cache_init().

Cherry picked from commit eb8847703b8560a045e7ed0336f895bcceda98ea:
&gt; Change-Id: I00e60522478b433cb0aae0c1f0948eac544dfd2b
&gt; URL: http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10710
&gt; BUG: 1143880
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/10600
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
&gt; Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Tested-by: NetBSD Build System

Change-Id: I00e60522478b433cb0aae0c1f0948eac544dfd2b
BUG: 1212182
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/10655
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
