cvs commit: src/sys/sys conf.h src/sys/fs/specfs spec_vnops.c

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Oct 15 13:40:37 PDT 2003


In message <20031015133353.W35236 at 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.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the cvs-src mailing list