Coda File System

Re: venus-kernel interface

From: Ivan Popov <>
Date: Thu, 30 Sep 2004 10:56:28 +0200
On Wed, Sep 29, 2004 at 03:35:53PM -0400, Jan Harkes wrote:

> > The native Venus was running well, but the linux-abi clog was unable to
> > communicate with it.
> Interesting since the pioctl code in coda-src/kerndep is identical for
> both Linux and *BSD, so this would be a failure of the linux-abi. I


There is one thing which makes linux-abi on *bsd interesting.
I have the impression that the linux-abi kernel interface is more stable
between kernel versions on *bsd than their native kernel interfaces.

Of course there are binary compatibility layers between versions as well,
but I am unsure if it is present in the generic kernels as well as linux-abi :)
and then, there may be libraries needed as well - with glibc I do not
depend on local libraries, with *BSD libc I do (or it is harder to work around).

I know I can run the same Linux applications on FreeBSD 4.* and 5.*
without any tweaks, but I am unsure about native 4.* applications.
Anybody who knows? Can we compile Venus on 4.10 and run it on 5.3?
Without having extra compatibility files on the host?

If Venus would use _only_ totally standard and traditional syscalls
like open() read() write(), then we certainly could run the cache manager
and the tools via any abi.

Just speculating, if it would make the things hard to implement,
if we use a smaller subset of syscalls?
I can think that instead of ioctl(fd, OP, inoutdata)
we could do write(fd,"OPoutdata") followed by read(fd,"indata")
Well, twice as many context switches... but arbitrary lenght data...

Anybody who khows how ioctl() is implemented in *bsd linux-abi?

Received on 2004-09-30 04:58:47