Print this page
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero

*** 22,31 **** --- 22,37 ---- * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + + + + /* * This file contains the code to implement file range locking in * ZFS, although there isn't much specific to ZFS (all that comes to mind * support for growing the blocksize). * * Interface
*** 479,491 **** if (remove->r_read_wanted) { cv_broadcast(&remove->r_rd_cv); cv_destroy(&remove->r_rd_cv); } } else { ! ASSERT3U(remove->r_cnt, ==, 0); ! ASSERT3U(remove->r_write_wanted, ==, 0); ! ASSERT3U(remove->r_read_wanted, ==, 0); /* * Find start proxy representing this reader lock, * then decrement ref count on all proxies * that make up this range, freeing them as needed. */ --- 485,497 ---- if (remove->r_read_wanted) { cv_broadcast(&remove->r_rd_cv); cv_destroy(&remove->r_rd_cv); } } else { ! ASSERT0(remove->r_cnt); ! ASSERT0(remove->r_write_wanted); ! ASSERT0(remove->r_read_wanted); /* * Find start proxy representing this reader lock, * then decrement ref count on all proxies * that make up this range, freeing them as needed. */