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

Reply via email to