Coda File System

Re: Coda development roadmap

From: Greg Troxel <gdt_at_ir.bbn.com>
Date: Wed, 06 Aug 2014 07:39:02 -0400
u-codalist-z149_at_aetey.se writes:

> "[incompatible mount operation]... holding back my usage of NetBSD.
> The same limitation forces me currently to compile the client separately
> for 32- and 64-bit kernels.
> Of course the unification change will become feasible only when the pioctls
> are "shortcut" past the kernel module"

So you are really running into Linux bugs.   If an amd64 system is
running an i386 binary then it should expect the system call args to be
in the i386 format, because it is really running an emulation.  Either
that or it should abort due to an unsupported system call, or not run
the binary.

On NetBSD, syscalls are emulated with types from the other architecture
and operating system, and this generally works.  Are you finding that
the Linux venus makes a syscall that doesn't work right?  It could be
that the emulation of Linux mount(2) is buggy or missing.

> " Venus would only use the "portable" system calls - iff the pioctl
> IPC interface is platform-independent at run time, not only at compile
> time. AFAIK it is not. I do not think pioctl() can be expected to be
> emulated by different implementations of Linux ABI."

A Linux binary just isn't portable, unless other systems properly
emulate the system calls.

(All that said, dropping pioctl sounds good.)

Received on 2014-08-06 07:39:37