Lines Matching refs:sh

143 static int luo_session_insert(struct luo_session_header *sh,  in luo_session_insert()  argument
148 guard(rwsem_write)(&sh->rwsem); in luo_session_insert()
154 if (sh == &luo_session_global.outgoing) { in luo_session_insert()
155 if (sh->count == LUO_SESSION_MAX) in luo_session_insert()
165 list_for_each_entry(it, &sh->list, list) { in luo_session_insert()
169 list_add_tail(&session->list, &sh->list); in luo_session_insert()
170 sh->count++; in luo_session_insert()
175 static void luo_session_remove(struct luo_session_header *sh, in luo_session_remove() argument
178 guard(rwsem_write)(&sh->rwsem); in luo_session_remove()
180 sh->count--; in luo_session_remove()
206 struct luo_session_header *sh; in luo_session_release() local
217 sh = &luo_session_global.incoming; in luo_session_release()
221 sh = &luo_session_global.outgoing; in luo_session_release()
224 luo_session_remove(sh, session); in luo_session_release()
413 struct luo_session_header *sh = &luo_session_global.incoming; in luo_session_retrieve() local
418 scoped_guard(rwsem_read, &sh->rwsem) { in luo_session_retrieve()
419 list_for_each_entry(it, &sh->list, list) { in luo_session_retrieve()
515 struct luo_session_header *sh = &luo_session_global.incoming; in luo_session_deserialize() local
524 if (!sh->active) in luo_session_deserialize()
542 for (int i = 0; i < sh->header_ser->count; i++) { in luo_session_deserialize()
545 session = luo_session_alloc(sh->ser[i].name); in luo_session_deserialize()
548 sh->ser[i].name, session); in luo_session_deserialize()
552 err = luo_session_insert(sh, session); in luo_session_deserialize()
562 &sh->ser[i].file_set_ser); in luo_session_deserialize()
566 kho_restore_free(sh->header_ser); in luo_session_deserialize()
567 sh->header_ser = NULL; in luo_session_deserialize()
568 sh->ser = NULL; in luo_session_deserialize()
575 struct luo_session_header *sh = &luo_session_global.outgoing; in luo_session_serialize() local
580 guard(rwsem_write)(&sh->rwsem); in luo_session_serialize()
581 list_for_each_entry(session, &sh->list, list) { in luo_session_serialize()
582 err = luo_session_freeze_one(session, &sh->ser[i]); in luo_session_serialize()
586 strscpy(sh->ser[i].name, session->name, in luo_session_serialize()
587 sizeof(sh->ser[i].name)); in luo_session_serialize()
590 sh->header_ser->count = sh->count; in luo_session_serialize()
595 list_for_each_entry_continue_reverse(session, &sh->list, list) { in luo_session_serialize()
597 luo_session_unfreeze_one(session, &sh->ser[i]); in luo_session_serialize()
598 memset(sh->ser[i].name, 0, sizeof(sh->ser[i].name)); in luo_session_serialize()