Subject: Re: fcntl changes once again.
To: Bill Studenmund <wrstuden@nas.nasa.gov>
From: Charles M. Hannum <root@ihack.net>
List: tech-kern
Date: 07/13/1999 13:46:21
> For the flag changes, I'd add O_ALT_IO and O_OTHER (other is droppable if
> objectionalbe). These flags can be set at open or via F_SETFL. They would
> correspond to FALTIO and FOTHER for kernel-internal flags. Add
> IO_ALTSEMANTICS and IO_OTHER flags to i/o flags passed to
> VOP_READ & VOP_WRITE. vn_read() and vn_write() would set these flags
> (respectivly) if the F flags were set for the file.

I see no well-defined meaning for what these flags do.  As such, it
seems highly inappropriate to add them.

> If bit (int)0x80000000 (F_FORFS) is set, we process the fcntl in an
> ioctl-ish fashon. F_C_VOID, F_C_OUT, and F_C_IN (0x40000000, 0x20000000, &
> 0x10000000 respectivly) specify if the call passes in no structure (void),
> passes out a struct, and/or passes in a struct. Exactly as for an ioctl.

Why don't you just add a separate ioctl(2) domain which is trapped and
passed to the backing file system?  This is a no-brainer.  There's no
reason to create another special-case interface.