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>

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.

Scott


home | help

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