3rd party geom module on 10-STABLE cause panics in biodone()

Lev Serebryakov lev at FreeBSD.org
Tue Feb 25 22:01:10 UTC 2014


Hello, Freebsd-geom.

 My geom_raid5, which works rock-stable on 9-STABLE, causes panics in
biodone() on 10-STABLE. It causes panic at line 3567,

3561    if ((bp->bio_flags & BIO_TRANSIENT_MAPPING) != 0) {
3562      bp->bio_flags &= ~BIO_TRANSIENT_MAPPING;
3563      bp->bio_flags |= BIO_UNMAPPED;
3564      start = trunc_page((vm_offset_t)bp->bio_data);
3565      end = round_page((vm_offset_t)bp->bio_data + bp->bio_length);
3566      pmap_qremove(start, OFF_TO_IDX(end - start));
3567      vmem_free(transient_arena, start, end - start);
3568      atomic_add_int(&inflight_transient_maps, -1);
3569    }

 And these crashes are very bad: 9 of 10 times system could not make
crashdump or reboot and 8 out of 10 times it shuts down video output (!).

 I was lucky to get one crashdump to find this line...

 What could I do wrong in my module?

-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-geom mailing list