From owner-freebsd-hackers Sat Dec 8 3:41:13 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [216.33.66.196]) by hub.freebsd.org (Postfix) with ESMTP id 2CB1937B405 for ; Sat, 8 Dec 2001 03:41:09 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id D145B81D01; Sat, 8 Dec 2001 05:41:08 -0600 (CST) Date: Sat, 8 Dec 2001 05:41:08 -0600 From: Alfred Perlstein To: Poul-Henning Kamp Cc: Dave Rufino , Terry Lambert , freebsd-hackers@FreeBSD.ORG Subject: Re: statefulness in character device drivers Message-ID: <20011208054108.C92148@elvis.mu.org> References: <49036.1007811221@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <49036.1007811221@critter.freebsd.dk>; from phk@critter.freebsd.dk on Sat, Dec 08, 2001 at 12:33:41PM +0100 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Poul-Henning Kamp [011208 05:35] wrote: > In message , Dav > e Rufino writes: > > > > > >On Sat, 8 Dec 2001, Poul-Henning Kamp wrote: > > > >> >They are talking about "per-open", not "per-fd-instance" data, > >> >which could easily exclude dup, dup2, and fcntl(f_DUPFD). > >> > >> If you don't include dup/dup2/fnctl in your accounting, you > >> can only reliably tell "first open", "another open", "some close" > >> and "final close". You an modulate this with the pid, but you > >> still have no idea what is going on in any amount of detail. > > > >Speaking for myself, first open and final close would be all I need for > >the nvidia driver - though i'm sure tracking dup/dup2/fcntl would be > >preferable in the general case. > > first open/last close has been the UNIX way for decades... Yes, but afaik without a way to differenciate between two opens. Being able to notice whether a file is being operated on via which open is the important part. This would probably involve changing VOP_OPENs to pass a void ** that would be stored in the struct file that would be passed to subsequent ioctl/read/write/close operations. -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' http://www.morons.org/rants/gpl-harmful.php3 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message