Date: Mon, 18 Nov 1996 14:31:39 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: julian@whistle.com (Julian Elischer) Cc: hackers@FreeBSD.org Subject: Re: [Fwd: Device filesystem stumbling block] Message-ID: <199611182131.OAA07701@phaeton.artisoft.com> In-Reply-To: <3290B7AB.41C67EA6@whistle.com> from "Julian Elischer" at Nov 18, 96 11:23:23 am
next in thread | previous in thread | raw e-mail | index | archive | help
> 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. > 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. > 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? 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?199611182131.OAA07701>