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>