opening a vfs driver

I am writing a vfs module (for sol10) which has a userspace file server component. The file server needs to be able to pass messages to the vfs driver. Is the best way to accomplish this by using mod_driverops modlinkage, then registering my filesystem in the _init() method? WIll I lose the mount options handing by not specifying mod_fsops as the modlinkage?

Again, the goal is to have the driver appear in /devices/pseudo and to be able to call open() on the driver itself in order to pass messages to/from userspace. On Linux this is possible, since vfs filesystems appear in /proc/fs. Is there something analagous in Solaris10?

thanks 4 any advice,

mike

[684 byte] By [bronze-starDukes] at [2007-11-26 12:12:30]
# 1

It looks to me like you can't have it both ways - a module is either a device driver or it's a filesystem module. This is unfortunate, as it makes it awkward for a vfs filesystem to communicate with userspace!

I see that the nfs kernel module uses RPC to talk to the nfs server. This is too heavyweight for our needs. So that leaves shared memory or perhaps doors as an alternative?

-mike

bronzestar at 2007-7-7 14:12:29 > top of Java-index,Archived Forums,Socket Programming...
# 2
Figured it out...The modlinkage structure (defined in modctl.h) takes an array of "module specific linkage structures". OOTB, there is enough space allocated for 3. I only need two, one for a struct modlfs and another for a struct modldrv. It seems we're in business!mike
bronzestar at 2007-7-7 14:12:29 > top of Java-index,Archived Forums,Socket Programming...