On Thu, Jan 29, 2009 at 01:43:54PM -0500, John Baldwin wrote: > On Thursday 29 January 2009 1:15:23 pm Kostik Belousov wrote: > > On Thu, Jan 29, 2009 at 12:09:13PM -0500, John Baldwin wrote: > > > On Thursday 29 January 2009 11:47:15 am Edward Tomasz Napierala wrote: > > > > Author: trasz > > > > Date: Thu Jan 29 16:47:15 2009 > > > > New Revision: 187894 > > > > URL: http://svn.freebsd.org/changeset/base/187894 > > > > > > > > Log: > > > > Make sure the cdev doesn't go away while the filesystem is still > mounted. > > > > Otherwise dev2udev() could return garbage. > > > > > > > > Reviewed by: kib > > > > Approved by: rwatson (mentor) > > > > Sponsored by: FreeBSD Foundation > > > > > > Is this applicable to all filesystems? I'm curious why the VREF() on the > > > vnode associated with the cdev entry (um_devvp) is not sufficient to > prevent > > > this? I would have thought that the vnode would have held a reference on > the > > > cdev. > > > > The point of this commit is that devvp vnode may be reclaimed. > > So do all filesystems need this change then?
I briefly looked over cd9660. It caches the cdev in the im_dev member of its mount structure, that is consequently used as an argument to dev2udev() in cd9660_getattr(). I think that typical answer to your question is "yes".
pgpH8dMNZfAqA.pgp
Description: PGP signature