lkml.org 
[lkml]   [2005]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: NFS Permission denied instead of EROFS
From
Date
to den 27.10.2005 klokka 22:57 (+0200) skreiv Jan Engelhardt:

> # grep export /etc/exports
> /export *(ro,async,no_root_squash)
> # mount localhost:/export /mnt -t nfs -oro
> # logout
> $ cat /proc/mounts | grep nfs
> localhost:/export /mnt nfs ro,v3,rsize=32768,wsize=32768,hard,tcp,lock,addr=localhost 0 0
> $ ls -l /mnt/file
> -rw-r--r-- 1 root root 0 Oct 27 22:42 /mnt/file
> $ touch /mnt/file
> touch: cannot touch `file': Read-only file system
> $ strace -e trace=file touch /mnt/file
> open("/mnt/file", O_WRONLY|O_NONBLOCK|O_CREAT|O_NOCTTY|O_LARGEFILE, 0666) =
> -1 EACCES (Permission denied)
> utimes("/mnt/file", NULL) = -1 EACCES (Permission denied)
> ...
> touch: cannot touch `/mnt/file': Permission denied

This is on a filesystem that has been mounted with the -ro flag? That
would be a client bug.

Hmm... The client code does look a bit dodgy there (particularly NFSv4).
I'll see if I can come up with a patch.

> If the file does not exist however, everything is ok:
> $ touch /mnt/file
> touch: cannot touch /mnt/file': Read-only file system
> $ strace -e trace=file touch /mnt/file
> open("/mnt/file", O_WRONLY|O_NONBLOCK|O_CREAT|O_NOCTTY|O_LARGEFILE, 0666) =
> -1 EROFS (Read-only file system)
> utimes("/mnt/file", NULL) = -1 ENOENT (No such file or directory)
>
>
> Which brings me right to question... should mountd or knfsd be adjusted to
> refuse a rw mount request if an nfs export is only available as ro? Like it is
> already the case with normal block devices:

How would knfsd or mountd know? There is no way for the client to
communicate to the server that it is mounting for read-write.

Cheers,
Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-10-28 00:57    [W:0.604 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site