freebsd-dev/lib
Matthew Ahrens fbeddd60b7 Illumos 4390 - I/O errors can corrupt space map when deleting fs/vol
4390 i/o errors when deleting filesystem/zvol can lead to space map corruption
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Approved by: Dan McDonald <danmcd@omniti.com>

References:
  https://www.illumos.org/issues/4390
  https://github.com/illumos/illumos-gate/commit/7fd05ac

Porting notes:

Previous stack-reduction efforts in traverse_visitb() caused a fair
number of un-mergable pieces of code.  This patch should reduce its
stack footprint a bit more.

The new local bptree_entry_phys_t in bptree_add() is dynamically-allocated
using kmem_zalloc() for the purpose of stack reduction.

The new global zfs_free_leak_on_eio has been defined as an integer
rather than a boolean_t as was the case with the related zfs_recover
global.  Also, zfs_free_leak_on_eio's definition has been inserted into
zfs_debug.c for consistency with the existing definition of zfs_recover.
Illumos placed it in spa_misc.c.

Ported by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2545
2014-08-04 11:50:52 -07:00
..
libavl Remove autotools products 2012-08-27 11:47:44 -07:00
libefi Improve partition detection on lesser used devices 2014-04-08 14:45:12 -07:00
libnvpair Illumos #2619 and #2747 2013-01-08 10:35:35 -08:00
libshare Remove unconditional sharetab update 2014-01-07 09:48:09 -08:00
libspl Omit compiler warning by sticking to RAII 2014-05-22 09:44:15 -07:00
libunicode Remove autotools products 2012-08-27 11:47:44 -07:00
libuutil Remove autotools products 2012-08-27 11:47:44 -07:00
libzfs Illumos 4390 - I/O errors can corrupt space map when deleting fs/vol 2014-08-04 11:50:52 -07:00
libzfs_core Illumos 4757, 4913 2014-08-01 14:28:05 -07:00
libzpool Illumos 4757, 4913 2014-08-01 14:28:05 -07:00
Makefile.am Illumos #2882, #2883, #2900 2013-09-04 15:49:00 -07:00