From owner-freebsd-hackers Sat Nov 18 01:29:11 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id BAA05056 for hackers-outgoing; Sat, 18 Nov 1995 01:29:11 -0800 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id BAA05046 for ; Sat, 18 Nov 1995 01:29:00 -0800 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id UAA17204; Sat, 18 Nov 1995 20:23:52 +1100 Date: Sat, 18 Nov 1995 20:23:52 +1100 From: Bruce Evans Message-Id: <199511180923.UAA17204@godzilla.zeta.org.au> To: bde@zeta.org.au, grog@lemis.de Subject: Re: linux' mknod and named pipes. Cc: hackers@freebsd.org Sender: owner-hackers@freebsd.org Precedence: bulk >> >Is there any good reason why we shouldn't modify mknod to make a fifo >> >when called with the appropriate parameters? >> >> The same reason we shouldn't modify thousands of other system calls to be >> compatible with thousands of other systems: it takes longer and gives >> worse results. >I think that bears discussion. >1. It takes longer: >--- vfs_syscalls.c 1995/11/14 09:19:16 1.40 >+++ vfs_syscalls.c 1995/11/18 08:45:43 >@@ -757,6 +757,13 @@ > int error; > struct nameidata nd; > >+ if (ISFIFO (uap->mode)) >+ { >+ struct mkfifo_args args; >+ args.path = uap->path; >+ args.mode = uap->mode; >+ return mkfifo (p, args); >+ } > error = suser(p->p_ucred, &p->p_acflag); > if (error) > return (error); > OK, I haven't tested this, but it's got to be something like it. > In the normal case, there's a single 'if' involved. It takes longer to write, document, commit and test. Perhaps even as long as to argue about it :-). >2. It gives worse results. How? Why? It just confuses programmers to have two ways of doing the same thing. The p flag to mknod(8) isn't supported either. Bruce