Date: Sat, 7 Feb 2004 13:42:31 -0500 (EST) From: Robert Watson <rwatson@freebsd.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: current@freebsd.org Subject: Re: REVIEW: #define NODEV NULL (kernel only) Message-ID: <Pine.NEB.3.96L.1040207133959.30022A-100000@fledge.watson.org> In-Reply-To: <11313.1076174567@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 7 Feb 2004, Poul-Henning Kamp wrote: > I am inching my way towards reference counted dev_t's in the kernel, and > part of this is to allow make_dev() to fail if we are short on > resources. > > To that end I would really like to get rid of the magic definition of > NODEV that we use in the kernel (which I belive is not even kosher C ?), > and simply substitute a NULL for a non-existent dev_t. > > Any objections to this patch ? No objections to this patch (which is definitely a good thing), but I am worried that letting make_dev() fail might open a can of worms. Or at least, lead to some confusion as to how to manage the failure mode. However, given that I think we need to have the dev_t storage owned by the kernel rather than the modules, I'm not sure there's much choice in the approach. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research > Poul-Henning > > Index: sys/param.h > =================================================================== > RCS file: /home/ncvs/src/sys/sys/param.h,v > retrieving revision 1.178 > diff -u -r1.178 param.h > --- sys/param.h 30 Jan 2004 13:43:51 -0000 1.178 > +++ sys/param.h 7 Feb 2004 17:07:48 -0000 > @@ -189,10 +189,12 @@ > #define NBPW sizeof(int) /* number of bytes per word (integer) */ > > #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ > -#define NODEV (dev_t)(-1) /* non-existent device */ > #ifdef _KERNEL > +#define NODEV NULL > #define NOUDEV (udev_t)(-1) /* non-existent device */ > #define NOMAJ 256 /* non-existent device */ > +#else > +#define NODEV (dev_t)(-1) > #endif > > #define CBLOCK 128 /* Clist block size, must be a power of 2. */ > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@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. > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040207133959.30022A-100000>