hammer2 - fix I/O race, flesh out bulkfree
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 30 Jan 2015 02:26:34 +0000 (18:26 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 30 Jan 2015 02:26:34 +0000 (18:26 -0800)
commitd662271e2e8ba195f2d6fc313244e788faec699a
tree8eb71a38f8851eaab5f4332b166c31364f4b67da
parent271568b17008871f333ec935d8d76c8d92083592
hammer2 - fix I/O race, flesh out bulkfree

* Fix an I/O race which could cause hammer2 to block on an iocb forever.
  A TAILQ was being tested outside of a spin-lock and could race the
  related atomic op on the flag.

* Add signal checking for the bulkfree scan, allowing it to be interrupted.

* Loop sbase/sstop to cover the whole volume.  The in-memory bitmap must
  be bzero()d on each loop.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_bulkscan.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_subr.c