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.
*/