Date: Wed, 15 Oct 2003 14:50:38 -0600 (MDT) From: Scott Long <scottl@freebsd.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: Nate Lawson <nate@root.org> Subject: Re: cvs commit: src/sys/sys conf.h src/sys/fs/specfs spec_vnops.c Message-ID: <20031015144549.E9965@pooker.samsco.home> In-Reply-To: <46551.1066250432@critter.freebsd.dk>
index | next in thread | previous in thread | raw e-mail
On Wed, 15 Oct 2003, Poul-Henning Kamp wrote: > In message <20031015133353.W35236@root.org>, Nate Lawson writes: > > >I assume this is to avoid a trip through a vnode when doing IO to a > >device? Can you point me at the analysis of this approach? I've heard > >you talking about it before but don't have a reference. > > See the streams driver for an example why this can be considered > merely a cleanup. > > >> @@ -223,6 +224,7 @@ > >> u_int d_flags; > >> const char *d_name; > >> d_open_t *d_open; > >> + d_fdopen_t *d_fdopen; > >> d_close_t *d_close; > >> d_read_t *d_read; > >> d_write_t *d_write; > > > >Sure we have C99 now but for binary compatibility with third party > >drivers, shouldn't this be added at the end of the structure? Especially > >since this is an optional function. > > This was deliberately put in the logical place in order to encourage > 3rdparty drivers to use the correct C99 initialization for cdevsw. I think that Nate was concerned about binary compatibility, not source compatibility (which is why he mentioned C99). This change will of course affect things like nvidia.ko, so a small heads-up might be in order. Even though 5.x is not yet STABLE, we still need to practice good common courtesy with API and ABI changes. Scotthome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031015144549.E9965>
