Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/ufs/ext2fs



On Sat, Sep 12, 2009 at 01:43:52AM +0000, Izumi Tsutsui wrote:
> 
> Log Message:
> Pull a fix for mount function from ffs_vfsops.c rev1.186:
> > Change ffs_mount, in MNT_UPDATE case, to check dev_t's for equality
> > instead of just vnode pointers.  Fixes erroneous "does not match mounted
> > device" errors from mount(8) in the presence of MFS /dev, init.root, &c.

Hmmm.... seems like a more generic problem.

SYSV fixed this by adding another level of indirection.

For char/block devices opened through the filesystem, the foo_fs vode
points to a specfs vnode - which is common to all opens of the major/minor.

For 'clone' opens the 'file' structure directly references the specfs
vnode.

For mount you only want to remember the specfs vnode, not the one of the
fs that contained the disk inode containing the dev_t number.
Then you can unmount the fs ...

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index