HAMMER2_CHAIN_UPDATE
HAMMER2_CHAIN_UPDATE | \
if ((chain->flags & HAMMER2_CHAIN_UPDATE) == 0) {
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if ((chain->flags & HAMMER2_CHAIN_UPDATE) == 0)
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
KKASSERT(chain->flags & HAMMER2_CHAIN_UPDATE);
HAMMER2_CHAIN_UPDATE);
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (chain->flags & (HAMMER2_CHAIN_UPDATE |
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (chain->flags & HAMMER2_CHAIN_UPDATE)
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
KKASSERT((chain->flags & (HAMMER2_CHAIN_UPDATE |
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (child->flags & HAMMER2_CHAIN_UPDATE)
KKASSERT((chain->flags & HAMMER2_CHAIN_UPDATE) ||
if ((chain->flags & HAMMER2_CHAIN_UPDATE) == 0 &&
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if ((chain->flags & HAMMER2_CHAIN_UPDATE) && parent == NULL)
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (chain->flags & HAMMER2_CHAIN_UPDATE) {
if (hmp->vchain.flags & HAMMER2_CHAIN_UPDATE) {
atomic_clear_int(&hmp->vchain.flags, HAMMER2_CHAIN_UPDATE);
if (hmp->fchain.flags & HAMMER2_CHAIN_UPDATE) {
atomic_clear_int(&hmp->fchain.flags, HAMMER2_CHAIN_UPDATE);
HAMMER2_CHAIN_UPDATE | \
if ((chain->flags & HAMMER2_CHAIN_UPDATE) == 0) {
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if ((chain->flags & HAMMER2_CHAIN_UPDATE) == 0)
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
KKASSERT(chain->flags & HAMMER2_CHAIN_UPDATE);
HAMMER2_CHAIN_UPDATE);
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (chain->flags & (HAMMER2_CHAIN_UPDATE |
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (chain->flags & HAMMER2_CHAIN_UPDATE)
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
KKASSERT((chain->flags & (HAMMER2_CHAIN_UPDATE |
if (chain->flags & HAMMER2_CHAIN_UPDATE) {
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (child->flags & HAMMER2_CHAIN_UPDATE)
KKASSERT((chain->flags & HAMMER2_CHAIN_UPDATE) ||
if ((chain->flags & HAMMER2_CHAIN_UPDATE) == 0 &&
atomic_set_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if ((chain->flags & HAMMER2_CHAIN_UPDATE) && parent == NULL)
atomic_clear_int(&chain->flags, HAMMER2_CHAIN_UPDATE);
if (hmp->vchain.flags & HAMMER2_CHAIN_UPDATE) {
atomic_clear_int(&hmp->vchain.flags, HAMMER2_CHAIN_UPDATE);
if (hmp->fchain.flags & HAMMER2_CHAIN_UPDATE) {
atomic_clear_int(&hmp->fchain.flags, HAMMER2_CHAIN_UPDATE);