Project

General

Profile

Bug #3565

consumers of libzpool can no longer bypass assertions

Added by Christopher Siden about 7 years ago.

Status:
In Progress
Priority:
Normal
Category:
zfs - Zettabyte File System
Start date:
2013-02-15
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

From George Wilson's original bug report at Delphix:

The 'zdb' program has the ability to enable 'aok' so that it can bypass any of
the ASSERT/VERIFY statements in the kernel code. Doing this is very useful to
help debug any corruption issues that can occur. This does not bypass calls to
assert() which are typically used in userland programs.

The fix for '3006 VERIFY3[S,U,P] and ASSERT3[S,U,P] frequently check if first
argument equals zero' changed consumers of libzpool to use debug.h instead of
the ASSERT/VERIFY logic in zfs_context.h. The implementation in zfs_context.h
allowed for the 'aok' variable to be set. With the fix for 3006 this
functionality no longer works.

We should add 'aok' into libc so that consumers of ASSERT/VERIFY can bypass the
assertions.

Also available in: Atom PDF