mls
{ "mdir", mdirhelp, 1, 1, 1, mls },
{ "mls", mlshelp, 1, 1, 1, mls },
extern void mls(int argc, char *argv[]);
multilist_sublist_t *mls;
mls = multilist_sublist_lock(ml, idx);
for (hdr = multilist_sublist_prev(mls, marker); hdr != NULL;
hdr = multilist_sublist_prev(mls, marker)) {
multilist_sublist_move_forward(mls, marker);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = multilist_sublist_lock(ml, i);
multilist_sublist_insert_tail(mls, markers[i]);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = multilist_sublist_lock(ml, i);
multilist_sublist_remove(mls, markers[i]);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = l2arc_sublist_lock(try);
VERIFY3P(mls, !=, NULL);
hdr = multilist_sublist_head(mls);
hdr = multilist_sublist_tail(mls);
hdr_prev = multilist_sublist_next(mls, hdr);
hdr_prev = multilist_sublist_prev(mls, hdr);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = multilist_sublist_lock(
dmu_buf_impl_t *db = multilist_sublist_tail(mls);
db = multilist_sublist_prev(mls, db);
multilist_sublist_t *, mls);
multilist_sublist_remove(mls, db);
multilist_sublist_unlock(mls);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = multilist_sublist_lock_obj(dirtylist, dn);
multilist_sublist_unlock(mls);
multilist_sublist_insert_head(mls, dn);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls =
multilist_sublist_remove(mls, msp);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls =
metaslab_t *msp = multilist_sublist_head(mls);
multilist_sublist_unlock(mls);
VERIFY3P(mls, ==, multilist_sublist_lock(
multilist_sublist_unlock(mls);
metaslab_t *next_msp = multilist_sublist_next(mls, msp);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls =
multilist_sublist_remove(mls, msp);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls =
multilist_sublist_remove(mls, msp);
multilist_sublist_insert_tail(mls, msp);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls =
multilist_sublist_insert_head(mls, msp);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = multilist_sublist_lock(ml, i);
metaslab_t *msp = multilist_sublist_head(mls);
multilist_sublist_unlock(mls);
mls = multilist_sublist_lock(ml, i);
metaslab_t *next_msp = multilist_sublist_next(mls, msp);
multilist_sublist_unlock(mls);
multilist_sublist_t *mls = &ml->ml_sublists[i];
ASSERT(list_is_empty(&mls->mls_list));
list_destroy(&mls->mls_list);
mutex_destroy(&mls->mls_lock);
multilist_sublist_t *mls;
mls = &ml->ml_sublists[sublist_idx];
need_lock = !MUTEX_HELD(&mls->mls_lock);
mutex_enter(&mls->mls_lock);
multilist_sublist_insert_head(mls, obj);
mutex_exit(&mls->mls_lock);
multilist_sublist_t *mls;
mls = &ml->ml_sublists[sublist_idx];
need_lock = !MUTEX_HELD(&mls->mls_lock);
mutex_enter(&mls->mls_lock);
multilist_sublist_remove(mls, obj);
mutex_exit(&mls->mls_lock);
multilist_sublist_t *mls = &ml->ml_sublists[i];
boolean_t need_lock = !MUTEX_HELD(&mls->mls_lock);
mutex_enter(&mls->mls_lock);
if (!list_is_empty(&mls->mls_list)) {
mutex_exit(&mls->mls_lock);
mutex_exit(&mls->mls_lock);
multilist_sublist_t *mls;
mls = &ml->ml_sublists[sublist_idx];
mutex_enter(&mls->mls_lock);
return (mls);
multilist_sublist_unlock(multilist_sublist_t *mls)
mutex_exit(&mls->mls_lock);
multilist_sublist_insert_head(multilist_sublist_t *mls, void *obj)
ASSERT(MUTEX_HELD(&mls->mls_lock));
list_insert_head(&mls->mls_list, obj);
multilist_sublist_insert_tail(multilist_sublist_t *mls, void *obj)
ASSERT(MUTEX_HELD(&mls->mls_lock));
list_insert_tail(&mls->mls_list, obj);
multilist_sublist_move_forward(multilist_sublist_t *mls, void *obj)
void *prev = list_prev(&mls->mls_list, obj);
ASSERT(MUTEX_HELD(&mls->mls_lock));
ASSERT(!list_is_empty(&mls->mls_list));
list_remove(&mls->mls_list, obj);
list_insert_before(&mls->mls_list, prev, obj);
multilist_sublist_remove(multilist_sublist_t *mls, void *obj)
ASSERT(MUTEX_HELD(&mls->mls_lock));
list_remove(&mls->mls_list, obj);
multilist_sublist_head(multilist_sublist_t *mls)
ASSERT(MUTEX_HELD(&mls->mls_lock));
return (list_head(&mls->mls_list));
multilist_sublist_tail(multilist_sublist_t *mls)
ASSERT(MUTEX_HELD(&mls->mls_lock));
return (list_tail(&mls->mls_list));
multilist_sublist_next(multilist_sublist_t *mls, void *obj)
ASSERT(MUTEX_HELD(&mls->mls_lock));
return (list_next(&mls->mls_list, obj));
multilist_sublist_prev(multilist_sublist_t *mls, void *obj)
ASSERT(MUTEX_HELD(&mls->mls_lock));
return (list_prev(&mls->mls_list, obj));
multilist_sublist_t *mls = &ml->ml_sublists[i];
mutex_init(&mls->mls_lock, NULL, MUTEX_DEFAULT, NULL);
list_create(&mls->mls_list, size, offset);
void multilist_sublist_move_forward(multilist_sublist_t *mls, void *obj);
cs_map_log_socket(client_handle_t ch, map_log_socket_t *mls)
mls->PhySocket = CS_GET_SOCKET_NUMBER(mls->LogSocket);
mls->PhySocket = GET_CLIENT_SOCKET(ch);
if ((sp = cs_get_sp(CS_GET_SOCKET_NUMBER(mls->PhySocket))) == NULL)
mls->PhyAdapter = sp->adapter.number;
csx_MapLogSocket(client_handle_t ch, map_log_socket_t *mls)
return (CardServices(MapLogSocket, ch, mls));