From owner-freebsd-current Fri Aug 20 23:31:54 1999 Delivered-To: freebsd-current@freebsd.org Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.26.10.9]) by hub.freebsd.org (Postfix) with ESMTP id A2E5114F29 for ; Fri, 20 Aug 1999 23:31:49 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id QAA05678; Sat, 21 Aug 1999 16:30:57 +1000 Date: Sat, 21 Aug 1999 16:30:57 +1000 From: Bruce Evans Message-Id: <199908210630.QAA05678@godzilla.zeta.org.au> To: jb@cimlogic.com.au, phk@critter.freebsd.dk Subject: Re: problem with vnconfig -s labels ... Cc: atrens@nortelnetworks.com, current@FreeBSD.ORG, luigi@labinfo.iet.unipi.it Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >Hmmm, I know this is your code, but are you sure? 8-). My understanding of >dkmodslice() and friends is that they manipulate dev_t entries, but don't >actually initialise them. Since the subr_diskslice code takes a dev_t dkmodslice() once just manipulated bits in dev_t scalars. Now that dev_t is a pointer, dkmodslice() has to create something for the pointer to point to. That something needs to be fully initialised and not created more than once. The initialisation is apparently incomplete. Multiple creation is avoided by searching the list of previously created entries. Now I understand why my memory is filling up with unused dev_t entries :-). subr_diskslice churns through a not insignificant part of the per-drive minor number space (32 slices * 8 partitions * {raw, buffered}), using dkmodslice to create new dev_t's. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message