--- arc.c Sat Feb 10 14:55:37 2007 +++ arc.c.new Sun Feb 18 02:38:21 2007 @@ -723,7 +723,7 @@ if ((refcount_add(&ab->b_refcnt, tag) == 1) && (ab->b_state != arc_anon)) { - int delta = ab->b_size * ab->b_datacnt; + uint64_t delta = ab->b_size * ab->b_datacnt; ASSERT(!MUTEX_HELD(&ab->b_state->arcs_mtx)); mutex_enter(&ab->b_state->arcs_mtx); @@ -776,7 +776,7 @@ { arc_state_t *old_state = ab->b_state; int refcnt = refcount_count(&ab->b_refcnt); - int from_delta, to_delta; + uint64_t from_delta, to_delta; ASSERT(MUTEX_HELD(hash_lock)); ASSERT(new_state != old_state); @@ -1251,7 +1251,7 @@ mutex_exit(&state->arcs_mtx); if (bufs_skipped) { - ARCSTAT_INCR(arcstat_mutex_miss, bufs_skipped); + ARCSTAT_INCR(arcstat_mutex_miss, (uint64_t)bufs_skipped); ASSERT(bytes >= 0); }