If possible, 'print *bp' from a gdb'd kernel dump if you can.
I suspect this may be related to 'bp->b_xflags & BX_BKGRDINPROG'.
If a bitmap is undergoing a background write and is then dirtied
a second time and bawrite()n, the bawrite() will be turned into a
bdwrite() (because a prior write is already in progress).
If this is the case we may have to implement the same MARK/SCAN code
for spec_fsync() that we implemented for FFS's fsync code.
FFS's fsync code got into infinite loops trying to fsync() buffers with
softupdates dependancies -- whos bawrite()'s were being turned into
bdwrite()'s due to the dependancies.
-Matt
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message