Date: 10 Oct 1998 15:06:31 -0400 From: "Robert V. Baron" <rvb@cs.cmu.edu> To: Peter Wemm <peter@FreeBSD.ORG> Cc: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/sys kernel.h Message-ID: <yzsr9wg9qyw.fsf@sicily.odyssey.cs.cmu.edu> In-Reply-To: Peter Wemm's message of Fri, 9 Oct 1998 16:03:27 -0700 (PDT) References: <199810092303.QAA06098@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Happy to see that LKD's are being worked on. There is a structural problem in lkm design. Maybe we can do it right on lkd's. The problem is that there is a concept of a module. Then there is the idea that there are services made available. So it is easy to imagine that a block of code -- a module, would make serveral services available say vfs, dev, maybe even inodes. So I would argue that the private data of a module, should be a linked list if it has to be explicit at all. Then when you call lkmdispatch(), you pass the module pointer and the service you wish to initialize. You do this as many times as necessary to setup the module. (You do not pass the service as the private data of the module). To make things a bit more concrete, look at coda/coda_fbsd.c and see what had to happen to tuck Coda in as an lkm.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?yzsr9wg9qyw.fsf>