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".

Attachment: pgpH8dMNZfAqA.pgp
Description: PGP signature

Reply via email to