<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/nfs/server/src, branch v3.8.2</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>nfs: allow hostnames with dashes in exports/netgroups files</title>
<updated>2016-08-05T13:19:28+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2016-07-19T10:40:35+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=15d963d6ce416c29fa7eea225d20d979afdf315c'/>
<id>15d963d6ce416c29fa7eea225d20d979afdf315c</id>
<content type='text'>
Hostnames with dashes (like "vagrant-testVM") are not correctly parsed
when reading the exports/netgroups files. This bacomes obvious when
running ./run-tests-in-vagrant.sh because it causes
tests/basic/mount-nfs-auth.t and tests/basic/netgroup_parsing.t to fail.

The regex for hostname (in exports) and the entry and hostname
(netgroups) parsing does not include the "-" sign, and hence the
hostnames are splitted at it.

Cherry picked from commit e5221d288e41d29d89d52f8deab657d2285a852c:
&gt; BUG: 1350237
&gt; Change-Id: I38146a283561e1fa386cc841c43fd3b1e30a87ad
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/14809
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;

Change-Id: I38146a283561e1fa386cc841c43fd3b1e30a87ad
BUG: 1357834
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14955
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hostnames with dashes (like "vagrant-testVM") are not correctly parsed
when reading the exports/netgroups files. This bacomes obvious when
running ./run-tests-in-vagrant.sh because it causes
tests/basic/mount-nfs-auth.t and tests/basic/netgroup_parsing.t to fail.

The regex for hostname (in exports) and the entry and hostname
(netgroups) parsing does not include the "-" sign, and hence the
hostnames are splitted at it.

Cherry picked from commit e5221d288e41d29d89d52f8deab657d2285a852c:
&gt; BUG: 1350237
&gt; Change-Id: I38146a283561e1fa386cc841c43fd3b1e30a87ad
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/14809
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;

Change-Id: I38146a283561e1fa386cc841c43fd3b1e30a87ad
BUG: 1357834
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14955
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: Reset cs-&gt;resolvedhard while resolving an entry</title>
<updated>2016-07-18T20:56:20+00:00</updated>
<author>
<name>Soumya Koduri</name>
<email>skoduri@redhat.com</email>
</author>
<published>2016-07-13T10:54:31+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=951aa4d0837007249046b8ca8362d0d2024cb252'/>
<id>951aa4d0837007249046b8ca8362d0d2024cb252</id>
<content type='text'>
If an entry is not found in the inode table, nfs xlator should be
resolving it by sending an explicit lookup to the brick process.
But currently its broken in case of NFS3_LOOKUP fop where in the server
bails out early resulting in sending pargfid attributes to the client.
To fix the same reset 'cs-&gt;resolvedhard' so that an explicit lookup
is done for the entry in the resume_fn "nfs3_lookup_resume()".

This is backport of the below mainline patch -
http://review.gluster.org/14911

BUG: 1357257

&gt;Change-Id: I999f8bca7ad008526c174d13f69886dc809d9552
&gt;Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
&gt;BUG: 1356068
&gt;Reviewed-on: http://review.gluster.org/14911
&gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;(cherry picked from commit 3c485cb896837c8e362fd0b094325002ce806ac4)

Change-Id: Ifeb21887810115369ca2ae6c8c3d3619d4e6c066
Reviewed-on: http://review.gluster.org/14941
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: soumya k &lt;skoduri@redhat.com&gt;
Reviewed-by: jiademing.dd &lt;iesool@126.com&gt;
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;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If an entry is not found in the inode table, nfs xlator should be
resolving it by sending an explicit lookup to the brick process.
But currently its broken in case of NFS3_LOOKUP fop where in the server
bails out early resulting in sending pargfid attributes to the client.
To fix the same reset 'cs-&gt;resolvedhard' so that an explicit lookup
is done for the entry in the resume_fn "nfs3_lookup_resume()".

This is backport of the below mainline patch -
http://review.gluster.org/14911

BUG: 1357257

&gt;Change-Id: I999f8bca7ad008526c174d13f69886dc809d9552
&gt;Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
&gt;BUG: 1356068
&gt;Reviewed-on: http://review.gluster.org/14911
&gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
&gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt;Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt;(cherry picked from commit 3c485cb896837c8e362fd0b094325002ce806ac4)

Change-Id: Ifeb21887810115369ca2ae6c8c3d3619d4e6c066
Reviewed-on: http://review.gluster.org/14941
Reviewed-by: Kaleb KEITHLEY &lt;kkeithle@redhat.com&gt;
Tested-by: soumya k &lt;skoduri@redhat.com&gt;
Reviewed-by: jiademing.dd &lt;iesool@126.com&gt;
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>core, shard: Make shards inherit main file's O_DIRECT flag if present</title>
<updated>2016-06-27T15:17:55+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2016-05-02T11:21:10+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=42d6a493570599277ed88b51ab0fb9760840ed1b'/>
<id>42d6a493570599277ed88b51ab0fb9760840ed1b</id>
<content type='text'>
        Backport of: http://review.gluster.org/14191

If the application opens a file with O_DIRECT, the shards'
anon fds would also need to inherit the flag. Towards this,
shard xl would be passing the odirect flag in the @flags parameter
to the WRITEV fop. This will be used in anon fd resolution
and subsequent opening by posix xl.

 &gt;Change-Id: I3a0593fa46cc25e390a5762a0354b469c2a1532d
 &gt;BUG: 1342903
 &gt;Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
 &gt;Reviewed-on: http://review.gluster.org/14663
 &gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
 &gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
 &gt;NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
 &gt;Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;

Change-Id: Ibfc164aa7f9eecd6993255f1c03557f2ec35ac8c
BUG: 1347553
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14754
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;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
        Backport of: http://review.gluster.org/14191

If the application opens a file with O_DIRECT, the shards'
anon fds would also need to inherit the flag. Towards this,
shard xl would be passing the odirect flag in the @flags parameter
to the WRITEV fop. This will be used in anon fd resolution
and subsequent opening by posix xl.

 &gt;Change-Id: I3a0593fa46cc25e390a5762a0354b469c2a1532d
 &gt;BUG: 1342903
 &gt;Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
 &gt;Reviewed-on: http://review.gluster.org/14663
 &gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
 &gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
 &gt;NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
 &gt;Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;

Change-Id: Ibfc164aa7f9eecd6993255f1c03557f2ec35ac8c
BUG: 1347553
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14754
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: build exportlist with multiple groupnodes</title>
<updated>2016-06-13T10:11:00+00:00</updated>
<author>
<name>Bipin Kunal</name>
<email>bkunal@redhat.com</email>
</author>
<published>2016-06-10T12:17:51+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=dca103a2830746e08bea6b576465956f6568b521'/>
<id>dca103a2830746e08bea6b576465956f6568b521</id>
<content type='text'>
The EXPORT procedure of the MOUNT protocol does not correctly create
structures for the 'groupnodes' in the reply. Each 'groupnode' should be
a single entry in the 'nfs.rpc-auth-allow' volume option. Because the
value is handled as a single string, the encoding of the
groupnode-&gt;gr_name fails when the value of the volume option is longer
than 255 characters.

In the error case, encoding the EXPORTS reply fails, and the waiting
'showmount' command will not receive a reply and times out.

Splitting the allowed entries and creating a groupnode for each one
prevents the too long -&gt;gr_name. This is following the structures for
the EXPORTS reply in the MOUNT protocol more correctly as well. Note
that the contents of -&gt;gr_name is expected to be server dependent.

This is backport of below mainline fix -
	http://review.gluster.org/#/c/14667/

Change-Id: Ibbabad581cc9aa00feb80fbbc851a1b10b28383d
BUG: 1343287
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Signed-off-by: Bipin Kunal &lt;bkunal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14700
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: bipin kunal &lt;kunalbipin@gmail.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The EXPORT procedure of the MOUNT protocol does not correctly create
structures for the 'groupnodes' in the reply. Each 'groupnode' should be
a single entry in the 'nfs.rpc-auth-allow' volume option. Because the
value is handled as a single string, the encoding of the
groupnode-&gt;gr_name fails when the value of the volume option is longer
than 255 characters.

In the error case, encoding the EXPORTS reply fails, and the waiting
'showmount' command will not receive a reply and times out.

Splitting the allowed entries and creating a groupnode for each one
prevents the too long -&gt;gr_name. This is following the structures for
the EXPORTS reply in the MOUNT protocol more correctly as well. Note
that the contents of -&gt;gr_name is expected to be server dependent.

This is backport of below mainline fix -
	http://review.gluster.org/#/c/14667/

Change-Id: Ibbabad581cc9aa00feb80fbbc851a1b10b28383d
BUG: 1343287
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Signed-off-by: Bipin Kunal &lt;bkunal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14700
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: bipin kunal &lt;kunalbipin@gmail.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs : store sattr properly in nfs3_setattr() call</title>
<updated>2016-06-08T18:52:55+00:00</updated>
<author>
<name>Jiffin Tony Thottan</name>
<email>jthottan@redhat.com</email>
</author>
<published>2016-06-06T12:40:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=ee86027acfe44dc070a8bfe9e37864c645276370'/>
<id>ee86027acfe44dc070a8bfe9e37864c645276370</id>
<content type='text'>
nfs3_setattr stores the input arguments in cs-&gt;stbuf.
However, inode/entry resolution code overwrites cs-&gt;stbuf
after a successful resolution, thereby overwriting the
input arguments with iatt values stored on backend.
Hence operations like chmod/chown turns out to be a NOP.
Specifically following are the functions that overwrite
cs-&gt;stbuf:

    nfs3_fh_resolve_inode_lookup_cbk
    nfs3_fh_resolve_entry_lookup_cbk

Since we resort to inode resolution only when inode is not
found in inode table and lru limit guards the number of
inodes in itable, we run into this issue only when the data
set is bigger than lru limit of itable.

Fix is to store input arguments in a member other than
cs-&gt;stbuf.

Thanks Du for suggesting the fix

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

&gt; Change-Id: I7caef48839d4f177c3557d7823fc1d35c8294939
&gt; BUG: 1318204
&gt; Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;

Change-Id: I7caef48839d4f177c3557d7823fc1d35c8294939
BUG: 1343368
Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14660
Tested-by: Nigel Babu &lt;nigelb@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: 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>
nfs3_setattr stores the input arguments in cs-&gt;stbuf.
However, inode/entry resolution code overwrites cs-&gt;stbuf
after a successful resolution, thereby overwriting the
input arguments with iatt values stored on backend.
Hence operations like chmod/chown turns out to be a NOP.
Specifically following are the functions that overwrite
cs-&gt;stbuf:

    nfs3_fh_resolve_inode_lookup_cbk
    nfs3_fh_resolve_entry_lookup_cbk

Since we resort to inode resolution only when inode is not
found in inode table and lru limit guards the number of
inodes in itable, we run into this issue only when the data
set is bigger than lru limit of itable.

Fix is to store input arguments in a member other than
cs-&gt;stbuf.

Thanks Du for suggesting the fix

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

&gt; Change-Id: I7caef48839d4f177c3557d7823fc1d35c8294939
&gt; BUG: 1318204
&gt; Signed-off-by: Jiffin Tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;

Change-Id: I7caef48839d4f177c3557d7823fc1d35c8294939
BUG: 1343368
Signed-off-by: Manikandan Selvaganesh &lt;mselvaga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14660
Tested-by: Nigel Babu &lt;nigelb@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: 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: fix a typo in the help text for option rpc-auth.addr.reject</title>
<updated>2016-06-06T20:28:50+00:00</updated>
<author>
<name>Dustin Black</name>
<email>dblack@redhat.com</email>
</author>
<published>2016-06-02T20:15:25+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=48f481c64e04d5c7f479f6eee52ea8b8bef9570e'/>
<id>48f481c64e04d5c7f479f6eee52ea8b8bef9570e</id>
<content type='text'>
Added space to .description

Reported-by: James Shubin &lt;purpleidea@gmail.com&gt;
Change-Id: Ie4dd8774567ac4d8e1e8ec39aa3ab595d037101a
BUG: 1342275
Signed-off-by: Dustin Black &lt;dblack@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14620
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.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>
Added space to .description

Reported-by: James Shubin &lt;purpleidea@gmail.com&gt;
Change-Id: Ie4dd8774567ac4d8e1e8ec39aa3ab595d037101a
BUG: 1342275
Signed-off-by: Dustin Black &lt;dblack@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14620
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: strip trailing / when clients do subdir mounts</title>
<updated>2016-05-24T08:35:09+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2016-05-19T10:53:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=125c2f6d06dfeace7469adf3e5d7be98dd34d3c3'/>
<id>125c2f6d06dfeace7469adf3e5d7be98dd34d3c3</id>
<content type='text'>
Mounting a volume over NFS with a subdir followed by a / does not work:

  # mount -t nfs -o vers=3 storage.example.com:/media/installation/ /mnt
  mount.nfs: an incorrect mount option was specified

In the nfs.log:

  [client-rpc-fops.c:2930:client3_3_lookup_cbk] 0-media-client-0: remote operation failed. Path: /installation/ (00000000-0000-0000-0000-000000000000) [Invalid argument]
  [client-rpc-fops.c:2930:client3_3_lookup_cbk] 0-media-client-1: remote operation failed. Path: /installation/ (00000000-0000-0000-0000-000000000000) [Invalid argument]
  [mount3.c:1134:mnt3_resolve_subdir_cbk] 0-nfs: path=/installation/ (Invalid argument) [Invalid argument]

It is not possible to resolve paths with a trailing /. Stripping
trailing /'s from the subdir to mount is sufficient to make it work
again.

Backport:
&gt; Change-Id: I4075d4cd351438de58e1ff81f0fb65a1ff076da4
&gt; BUG: 1337597
&gt; Reviewed-on: http://review.gluster.org/14421
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I4075d4cd351438de58e1ff81f0fb65a1ff076da4
BUG: 1337596
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14424
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Smoke: 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>
Mounting a volume over NFS with a subdir followed by a / does not work:

  # mount -t nfs -o vers=3 storage.example.com:/media/installation/ /mnt
  mount.nfs: an incorrect mount option was specified

In the nfs.log:

  [client-rpc-fops.c:2930:client3_3_lookup_cbk] 0-media-client-0: remote operation failed. Path: /installation/ (00000000-0000-0000-0000-000000000000) [Invalid argument]
  [client-rpc-fops.c:2930:client3_3_lookup_cbk] 0-media-client-1: remote operation failed. Path: /installation/ (00000000-0000-0000-0000-000000000000) [Invalid argument]
  [mount3.c:1134:mnt3_resolve_subdir_cbk] 0-nfs: path=/installation/ (Invalid argument) [Invalid argument]

It is not possible to resolve paths with a trailing /. Stripping
trailing /'s from the subdir to mount is sufficient to make it work
again.

Backport:
&gt; Change-Id: I4075d4cd351438de58e1ff81f0fb65a1ff076da4
&gt; BUG: 1337597
&gt; Reviewed-on: http://review.gluster.org/14421
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;

Change-Id: I4075d4cd351438de58e1ff81f0fb65a1ff076da4
BUG: 1337596
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14424
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Smoke: 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>cluster/afr: Don't let NFS cache stat after writes</title>
<updated>2016-05-14T14:30:21+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2016-03-19T06:10:26+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=be312da5eac94410c41dac5dc1dde810974a12b7'/>
<id>be312da5eac94410c41dac5dc1dde810974a12b7</id>
<content type='text'>
Problem:
Afr does post-ops after write but the stat buffer it unwinds is at the
time of write, so if nfs client caches this, it will see different
ctime when it does stat on it after post-op is done. From NFS client's
perspective it thinks the file is changed. Tar which depends on this
to be correct keeps giving 'file changed as we read it' warning.
If Afr instead has to choose to unwind after post-op, eager-lock,
delayed-post-op will have to be disabled which will lead to bad
performance for all write usecases.

Fix:
Don't let client cache stat after write.

 &gt;Change-Id: Ic6062acc6e5cdd97a9c83c56bd529ec83cee8a23
 &gt;BUG: 1302948
 &gt;Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
 &gt;Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
 &gt;Reviewed-on: http://review.gluster.org/13785
 &gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
 &gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

BUG: 1335285
Change-Id: Ibef4fc80496d12acd15db57713af2e3a1c9109a7
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14300
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Ravishankar N &lt;ravishankar@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:
Afr does post-ops after write but the stat buffer it unwinds is at the
time of write, so if nfs client caches this, it will see different
ctime when it does stat on it after post-op is done. From NFS client's
perspective it thinks the file is changed. Tar which depends on this
to be correct keeps giving 'file changed as we read it' warning.
If Afr instead has to choose to unwind after post-op, eager-lock,
delayed-post-op will have to be disabled which will lead to bad
performance for all write usecases.

Fix:
Don't let client cache stat after write.

 &gt;Change-Id: Ic6062acc6e5cdd97a9c83c56bd529ec83cee8a23
 &gt;BUG: 1302948
 &gt;Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
 &gt;Signed-off-by: Anuradha Talur &lt;atalur@redhat.com&gt;
 &gt;Reviewed-on: http://review.gluster.org/13785
 &gt;Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
 &gt;CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
 &gt;Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;

BUG: 1335285
Change-Id: Ibef4fc80496d12acd15db57713af2e3a1c9109a7
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/14300
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFS: new option nfs.rdirplus added</title>
<updated>2016-04-07T08:39:48+00:00</updated>
<author>
<name>Sakshi Bansal</name>
<email>sabansal@redhat.com</email>
</author>
<published>2016-03-31T09:32:03+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=50b93f72f9a3f5bfd1d610801aecb06823adaa63'/>
<id>50b93f72f9a3f5bfd1d610801aecb06823adaa63</id>
<content type='text'>
When this option is 'disabled', NFS falls back to standard readdir instead
of readdirp

Change-Id: Icaaf4da6533bee56160d4a81e42bb60f7d341945
BUG: 1302948
Signed-off-by: Sakshi Bansal &lt;sabansal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13782
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.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>
When this option is 'disabled', NFS falls back to standard readdir instead
of readdirp

Change-Id: Icaaf4da6533bee56160d4a81e42bb60f7d341945
BUG: 1302948
Signed-off-by: Sakshi Bansal &lt;sabansal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13782
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: fix lock variable type</title>
<updated>2016-03-17T15:21:06+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2016-02-26T13:58:58+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=a6aecae2cd8171b8538bfe5d2800bdd157380b85'/>
<id>a6aecae2cd8171b8538bfe5d2800bdd157380b85</id>
<content type='text'>
variable 'mountlock' should be generic
since it is used by macros LOCK_* ,
it can be used spinlock or mutexlock

Change-Id: If558bcf8debd98c4e1a615df0f9f0caec586e39b
BUG: 1312346
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13532
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD 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>
variable 'mountlock' should be generic
since it is used by macros LOCK_* ,
it can be used spinlock or mutexlock

Change-Id: If558bcf8debd98c4e1a615df0f9f0caec586e39b
BUG: 1312346
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13532
Smoke: Gluster Build System &lt;jenkins@build.gluster.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
