From owner-freebsd-current@FreeBSD.ORG Sat Feb 7 09:22:49 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 38ACE16A4CE for ; Sat, 7 Feb 2004 09:22:49 -0800 (PST) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9EEB043D1F for ; Sat, 7 Feb 2004 09:22:48 -0800 (PST) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.10/8.12.10) with ESMTP id i17HMlbj011314 for ; Sat, 7 Feb 2004 18:22:47 +0100 (CET) (envelope-from phk@phk.freebsd.dk) To: current@freebsd.org From: Poul-Henning Kamp Date: Sat, 07 Feb 2004 18:22:47 +0100 Message-ID: <11313.1076174567@critter.freebsd.dk> Subject: REVIEW: #define NODEV NULL (kernel only) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Feb 2004 17:22:49 -0000 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 ? 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.