Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Oct 2003 00:36:33 -0400 (EDT)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        current@FreeBSD.org
Cc:        Kirk McKusick <mckusick@mckusick.com>
Subject:   getdirtybuf: interlock not locked but should be
Message-ID:  <200310010436.h914aXQb052991@khavrinen.lcs.mit.edu>

next in thread | raw e-mail | index | archive | help
I'm working on getting the AFS client to work under FreeBSD.  I just
compiled a -current kernel with DEBUG_VFS_LOCKS, and before I could
even load the AFS module I had the system stop with the following
locking assertion:

getdirtybuf: 0xc2678000 interlock is not locked but should be

Backtrace looks like:

getdirtybuf(de17cbb4, 0, 1, c7732ba0, 1) +0xee
flush_deplist(c268ad4c, 1, de17cbdc, de17cbe0, 0) +0x43
flush_inodedep_deps(c2670000,1ab,ffffffff,c26ed000,124) +0xa3
softdep_sync_metadata(de17cca4, 0, c037b672, 124, 0) +0x87
ffs_fsync(de17cca4, c03714ea, c0373416, ad8, 0) +0x3b9
fsync(c25d7850, de17cd10, c038276b, 3ec, 1) +0x1d4
syscall() ...

One vnode is locked:
0xc26ed000: tag ufs, type VREG, usecount 1, writecount 1, refcount 1,
flags (VV_OBJBUF), lock type ufs: EXCL (count 1) by thread 0xc25d7850
	ino 427, on dev ad0s1a (4, 13)

This is repeated four times with the same vnode.  Obviously, it would
help to have a solution to this problem so that I can debug what I'm
really interested in rather than worrying about UFS.

-GAWollman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310010436.h914aXQb052991>