Alan, please, replace the unmap_buffer() in fs/buffer.c with

static void unmap_buffer(struct buffer_head * bh)
{
        if (buffer_mapped(bh)) {
                mark_buffer_clean(bh);
                lock_buffer(bh);
                clear_bit(BH_Uptodate, &bh->b_state);
                clear_bit(BH_Mapped, &bh->b_state);
                clear_bit(BH_Req, &bh->b_state);
                clear_bit(BH_New, &bh->b_state);
                unlock_buffer(bh);
        }
}
Current tree has wait_on_buffer() instead of lock/unlock, which is racey on
SMP.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to