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_at_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 > _at__at_ -189,10 +189,12 _at__at_ > #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_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. > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Sat Feb 07 2004 - 13:42:31 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:42 UTC