I am testing the Ceph FSAL with both Ganesha V2.3.2 and V2.4-dev-23
using Ceph 10.2.2 running both NFS 3 and NFS 4 exports. With a NFS 3
client, on both Ganesha versions, I am getting an error when trying to
overwrite a file as both the root and as a regular user. I have set
"Squash = No_Root_Squash;"
>From the root NFS mounted directory, if the file r.r does not exist, and I:
echo 1 > r.r
it works and creates the file. If I try the echo again, it fails to
overwrite the file, and gives the message:
echo 1 > r.r
-bash: r.r: Invalid argument
If I try the same test on a VFS export of my ext4 root file system,
the overwrite works as expected. It also works if I mount the file
system on the client using NFS 4 instead of NFS 3
I have tried both a Centos 6.6 and a Ubuntu 16.04 client, both with
the fstab entry:
ede-c1-gw01:/top /C1-NFS nfs rw,hard,noauto,vers=3 0 0
And they both fail to overwrite the file when using NFS 3, and it
works to overwrite the file with NFS 4
Details:
The Ganesha server is a Ubuntu 14.04 system using a 4.7-rc6 x86_64
kernel and Ceph 10.2.2
Ganesha V2.3.2 test version:
# ganesha.nfsd -v
nfs-ganesha compiled on Jul 3 2016 at 19:04:13
Release = V2.3.2
Release comment = GANESHA file server is 64 bits compliant and
supports NFS v3,4.0,4.1 (pNFS) and 9P
Git HEAD = d51394b49b644b69bec1c219c650e8ed69b50c07
Git Describe = V2.3.2-0-gd51394b
Ganesha V2.4dev test version
# ganesha.nfsd -v
nfs-ganesha compiled on Jul 4 2016 at 21:06:31
Release = V2.4-dev-23
Release comment = GANESHA file server is 64 bits compliant and
supports NFS v3,4.0,4.1 (pNFS) and 9P
Git HEAD = 223dd33290a661273123d81487c3423e81f00990
Git Describe = V2.4-dev-23-0-g223dd33
Test on the Ubuntu 16.04 client:
# grep C1-NFS /proc/mounts
ede-c1-gw01:/top /C1-NFS nfs
rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.14.2.31,mountvers=3,mountport=50918,mountproto=udp,local_lock=none,addr=10.14.2.31
0 0
# cd /C1-NFS
# ls -la
total 5
drwxrwxrwx 1 root root 4 Jul 4 22:35 .
drwxr-xr-x 28 root root 4096 Jul 4 22:21 ..
# echo 1 > r.r
# ls -la
total 5
drwxrwxrwx 1 root root 4 Jul 4 22:35 .
drwxr-xr-x 28 root root 4096 Jul 4 22:21 ..
-rw-r--r-- 1 root root 2 Jul 4 22:36 r.r
# echo 1 > r.r
-bash: r.r: Invalid argument
# su - keeper
$ bash
$ cd /C1-NFS/
$ ls -la
total 5
drwxrwxrwx 1 root root 2 Jul 4 22:36 .
drwxr-xr-x 28 root root 4096 Jul 4 22:21 ..
-rw-r--r-- 1 root root 2 Jul 4 22:36 r.r
$ echo 1 > k.k
$ ls -la
total 6
drwxrwxrwx 1 root root 2 Jul 4 22:36 .
drwxr-xr-x 28 root root 4096 Jul 4 22:21 ..
-rw-rw-r-- 1 keeper keeper 2 Jul 4 22:37 k.k
-rw-r--r-- 1 root root 2 Jul 4 22:36 r.r
$ echo 1 > k.k
bash: k.k: Invalid argument
# cat ganesha.conf
LOG {
components {
# Log levels are:
# NULL, FATAL, MAJ, CRIT, WARN, EVENT, INFO, DEBUG, MID_DEBUG,
# FULL_DEBUG
ALL = MID_DEBUG;
}
}
# define CephFS export
EXPORT {
Export_ID = 42;
Path = /top;
Pseudo = /top;
Access_Type = RW;
Squash = No_Root_Squash;
Transports = TCP;
Protocols = 3,4;
SecType = none,sys;
FSAL {
Name = CEPH;
}
}
# ext4 export
EXPORT {
Export_ID = 41;
Path = /TEST;
Pseudo = /TEST;
Access_Type = RW;
Squash = No_Root_Squash;
Transports = TCP;
Protocols = 3,4;
SecType = none,sys;
FSAL {
Name = VFS;
}
}
Let me know if you need any log files or other informaton.
Eric
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Nfs-ganesha-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel