Date: Mon, 18 Nov 1996 15:44:38 -0800 From: Julian Elischer <julian@whistle.com> To: Terry Lambert <terry@lambert.org> Cc: hackers@FreeBSD.org Subject: Re: [Fwd: Device filesystem stumbling block] Message-ID: <3290F4E6.41C67EA6@whistle.com> References: <199611182131.OAA07701@phaeton.artisoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
>
> > the vnode in question is:
> > $13 = {
> > v_flag = 8192,
> > v_usecount = 2,
> > v_writecount = 0,
> > v_holdcnt = 3,
> > v_lastr = 0,
> > v_id = 1568,
> > v_mount = 0xf0b34800,
> ********** 0xf0b34800
> > v_op = 0xf09c0a00,
> > v_freelist = {
> > tqe_next = 0xf0ae1800,
> > tqe_prev = 0xdeadb
> ******* This is suspicious, but should not be fatal
> > },
> > v_mntvnodes = {
> > le_next = 0xf0ae1900,
> > le_prev = 0xf0b34814
> ********** 0xf0b34814
>
> Last time I looked, sizeof(struct vnode) is larger than what you have
> here:
>
> 0xf0b34814 - 0xf0b34800 = 0x14 = 20 bytes
>
> I would say your v_mntvnodes is corrupt, or this particular vnode is
> corrupt. Again, if it's the le_prev that's blown, then this should
> not be fatal.
I don't think this is it, in fact I think that this may just be
some invalid fields or something..
it doesn't seem to be related...
>
> > and the buf in question is the buf holding the superblock for the
> > filesystem. It is marked BUSY, but nothing is dealing with it so
> > getblk waits forever. for the life of me I can't figure out
> > what I need to add to devfs to make that block be handled.
>
> Try adding the FORCECLOSE flag to the ffs_flushfiles() call in
> ffs_unmount() in /sys/ufs/ffs/ffs_vfsops.c.
>
> flags |= FORCECLOSE;
> if (error = ffs_flushfiles(mp, flags, p))
>
> If it "fixes" it, then it should be possible to get a better fix.
maybe....
but I think it's because of cunfusion about which filesystem is suposed
to handle the work.
>
> > I don't understand what is supposed to find it and do the write back
> > that it is apparently waiting for.
> > I've looked in the 4.4 book but unfortunatly it doesn't seem to cover
> > this anywhere I can see. Certainly it lacks a clear diagram of
> > the linking in of filesystem meta-data in the buffer system.
> > I don't know where this buffer is hung off.
> > I guess I'm going to be single stepping through 'mount'
> > tomorrow to try figure this out, but any hints in the meanwhile
> > would be gratefully accepted..
>
> One question occurs to me: is this the / FS? If it is, then it will
> never unbusy, since the devfs is mounted on it... right?
no,
these are literally from the example I gave...
mount -t devfs devfs /mnt
mount /mnt/wd0e /data/mnt
unmount /data/mnt
>
> Terry Lambert
> terry@lambert.org
> ---
> Any opinions in this posting are my own and not those of my present
> or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3290F4E6.41C67EA6>
