Path: utzoo!attcan!uunet!auspex!guy From: guy@auspex.UUCP (Guy Harris) Newsgroups: comp.protocols.nfs Subject: Re: Yes, Virginia, you *can* have UNIX filenames containing '/' Message-ID: <449@auspex.UUCP> Date: 14 Nov 88 17:51:10 GMT References: <5945@fluke.COM> <10176@swan.ulowell.edu> Reply-To: guy@auspex.UUCP (Guy Harris) Organization: Auspex Systems, Santa Clara Lines: 30 >So how does the server create such a file? > >The server has to ask the kernel (via syscalls, like everyone else) >to create the file for it. Uhh, no, it doesn't. It has to ask the underlying *file system* to create the file for it; the server is *part* of the kernel, at least in the Sun implementation. NFS requests don't contain pathnames, they contain component names. Thus, the NFS server passes the pathname a component at a time to the file system; the components can contain '/'. >It's possible that the RPC system calls are stupid (ie. they don't >use lookupname); I've never seen kernel code for RPCs. If so, then >this is where the bug is, not in the server code. I fail to see why it is *ipso facto* "stupid" not to use "lookupname". They aren't "RPC system calls"; for one thing, it's NFS, not RPC (you can implement things that aren't system calls with RPC), and for another, NFS calls don't have to correspond directly to system calls. Either 1) the code in the file system implementation or 2) the code in the NFS server should check for "/".