Re: NFS Permission denied instead of EROFS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux