Skip site navigation (1)Skip section navigation (2)
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>
References:  <46551.1066250432@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Scott



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031015144549.E9965>