Subject: Re: New read & write syscalls
To: Chris G. Demetriou <mellon@isc.org>
From: Bill Studenmund <wrstuden@nas.nasa.gov>
List: tech-kern
Date: 06/30/1999 12:27:59
On Wed, 30 Jun 1999, Ted Lemon wrote:

> Nitpicking once again, why not just use an fcntl to control this
> behaviour?

On 30 Jun 1999, Chris G. Demetriou wrote:

> Bill Studenmund <wrstuden@nas.nasa.gov> writes:
> > Thoughts?
> 
> Why would extra flags to open()/fcntl(F_[GS]ETFL,...) be the wrong
> thing?

fcntl maybe....

> At least naively, i'd think that they'd be the right place to put the
> information, for a couple of reasons:
> 
> 	* you can still have an application support multiple types of
> 	  access (if concurrent via multiple FDs, if serialized via
> 	  fcntl()).
> 
> 	* for many applications that want the 'alternate' operation,
> 	  it might be unreasonable to recode the application.  e.g.
> 	  for the compressing file system case, i could easily imagine
> 	  a "cat --flags fs_raw file" or something similar.  It seems
> 	  unwieldy to recode all of the I/O calls to cope with this
> 	  obvious case.
> 
> That, at least, seems to be the right way to get the 'alternate
> semantics' information into the kernel.  How to pass it around
> internally is less interesting to me (I'm not really a VFS guy 8-).

Well, since I'd be the one to pass it around, it's interesting to me. ;-)
This interface makes the application programmer do most all of the work.
It's exposing dofilewrite() & dofileread() to the userland application for
them to hang themselves with.

What would work would be to shove a flag or two into f_flags, and then
have the dofile{read,write} routines pass that down.

I'll play with that.

As to why I'd do things this way, I'm much more a kernel hacker and just
like to expose the kernel innards to programs. :-)

Take care,

Bill