Subject: Re: bin/3998: Trying to mount a filesystem you don't have is cryptic
To: Peter Seebach <seebs@plethora.net>
From: Christian Hattemer <c.hattemer@arcor.de>
List: current-users
Date: 09/27/2006 17:34:25
Warning: This is a message in MIME format. Your mail reader does not
support MIME. Some parts of this message will be readable as plain text.
To see the rest, you will need to upgrade your mail reader. Following are
some URLs where you can find MIME-capable mail programs for common platforms:

  Amiga............: YAM          http://www.yam.ch/
  Unix.............: Metamail     ftp://thumper.bellcore.com/pub/nsb/
  Windows/Macintosh: Eudora       http://www.eudora.com/

General info about MIME can be found at:

http://www.faqs.org/faqs/mail/mime-faq/


--=_BOUNDARY.8f62588248a029b.03
Content-Type: text/plain

Hi,

attatched is a diff showing where to change the returned errno in our case.

We just need the proper errno to put there now.

I have used EPROTONOSUPPORT in the diff for now, but it shouldn't be kept
since it would again be confusing with the other file systems besides NFS.

I used it because there is already an EOPNOTSUPP and I wanted something
unique for testing. sys/errno.h lists EOPNOTSUPP under "ipc/networking" so
it isn't really appropriate also. It wasn't very clear anyway.

I heard the suggestion "File system support not enabled", so why not add a
new errno with this text? Should be easy and would be the perfect solution,
or do I miss something?

While we are at it, the EOPNOTSUPP that is already there is marked as
needing a better code, so this should also be done.


Considering the man pages, there's also some work to do.

Additionally to the to-be-changed ENODEV there are two undocumented EINVAL.
The list of MNT_* flags is also outdated, there are quite a few new ones
that aren't listed. However I'm not sure if all of them should be listed.

I might also update them, but I need somebody knowledgeable for
proofreading.

Bye, Chris

--=_BOUNDARY.8f62588248a029b.03
Content-Type: text/plain; name="mount-diff"
Content-Disposition: attachment; filename="mount-diff"

Index: sys/kern/vfs_syscalls.c
===================================================================
RCS file: /cvsroot/src/sys/kern/vfs_syscalls.c,v
retrieving revision 1.217.2.9
diff -u -r1.217.2.9 vfs_syscalls.c
--- sys/kern/vfs_syscalls.c	20 Jan 2006 20:48:41 -0000	1.217.2.9
+++ sys/kern/vfs_syscalls.c	27 Sep 2006 14:46:09 -0000
@@ -296,7 +296,7 @@
 #endif
 	if ((vfs = vfs_getopsbyname(fstypename)) == NULL) {
 		vput(vp);
-		return (ENODEV);
+		return (EPROTONOSUPPORT);
 	}
 	if (vp->v_mountedhere != NULL) {
 		vput(vp);

--=_BOUNDARY.8f62588248a029b.03--