Lines Matching refs:node_t
52 * node_t nodef_t sqfan_t nca_squeue_t tb_t te_t ti_t tw_t
338 * per-bucket lock. Each node_t inserted in the list points back at
348 * A node_t is used to represent a cached byte-stream object. A node_t is
351 * 1) path != NULL, member of a node_t hash list with an object description
371 struct node_s *plrunn; /* Phys LRU list next node_t */
372 struct node_s *plrupn; /* Phys LRU list previous node_t */
373 struct node_s *vlrunn; /* Virt LRU list next node_t */
374 struct node_s *vlrupn; /* Virt LRU list previous node_t */
378 struct node_s *hashnext; /* hash list next node_t */
379 struct node_s *ctaghashnext; /* ctaghash list next node_t */
385 clock_t expire; /* lbolt node_t expires (0 = NOW, -1 = NEVER) */
396 nca_squeue_t *sqp; /* squeue node_t is being processed from */
420 struct node_s *fileback; /* head node_t of a file list (-1 for death) */
421 struct node_s *filenext; /* next node_t of a file list */
422 struct node_s *ctagback; /* head node_t of a ctag list */
423 struct node_s *ctagnext; /* next node_t of a ctag list */
426 kmutex_t lock; /* serializes access to node_t */
442 } node_t;
446 #define REF_URI 0x80000000 /* & ref = node_t URI hashed */
451 #define REF_DONE 0x04000000 /* & ref = node_t fill is done */
452 #define REF_SAFED 0x02000000 /* & ref = node_t not safe for use */
453 #define REF_FILE 0x01000000 /* & ref = node_t filename hashed */
454 #define REF_RESP 0x00800000 /* & ref = node_t response header parsed */
455 #define REF_NOLRU 0x00400000 /* & ref = node_t not safe for lru reclaim */
456 #define REF_MISS 0x00200000 /* & ref = node_t is/will missed() proc */
457 #define REF_ONPLRU 0x00100000 /* & ref = node_t is on Phys LRU */
458 #define REF_ONVLRU 0x00080000 /* & ref = node_t is on Virt LRU */
459 #define REF_PREEMPT 0x00040000 /* & ref = node_t processing preempted */
460 #define REF_CTAG 0x00020000 /* & ref = node_t CTAG hashed */
461 #define REF_UPCALL 0x00010000 /* & ref = node_t upcall not yet complete */
462 #define REF_OWNED 0x00008000 /* & ref = node_t owned (won't be freed) */
463 #define REF_ERROR 0x00004000 /* & ref = node_t errored */
464 #define REF_VNODE 0x00002000 /* & ref = node_t vnode hashed */
465 #define REF_NCAFS 0x00001000 /* & ref = node_t is NCAfs required */
478 * NCA node_t reference counting is more complicated than nca_conn_t reference
479 * counting because we pass parts of node_t's (masquerading as dblk
482 * we may wish to keep a node_t around even after there are no outstanding
485 * Thus, the node_t reference count reflects the number of active codepaths
486 * in Solaris making use of a given node_t -- each codepath that requires
487 * that the node_t stick around once it drops the node_t lock must acquire
491 * the codepath has another outstanding reference. When a node_t is passed
493 * NODE_REFHOLD should be placed on the node_t and the free routine should
521 * ref the node_t may no longer exist. The new macro is NODE_REFRELE_LOCKED.
610 * NODE_T_TRACE - trace node_t events.
628 node_t *node;
714 * DOOR_TRACE - trace door node_t events.
730 node_t *np;
779 node_t *_req_np = _cp ? _cp->req_np : (node_t *)NULL; \
833 node_t *phead; /* Phys LRU list head (MRU) */
834 node_t *ptail; /* Phys LRU list tail (LRU) */
835 node_t *vhead; /* Virt LRU list head (MRU) */
836 node_t *vtail; /* Virt LRU list tail (LRU) */
838 uint32_t pcount; /* Phys count of node_t members */
839 uint32_t vcount; /* Virt count of node_t members */
853 node_t *persist_hdr_none;
854 node_t *persist_hdr_close;
855 node_t *persist_hdr_ka;
868 char pad[256 - sizeof (node_t *) - sizeof (node_t *) -
869 sizeof (node_t *) - sizeof (uint32_t) -
1194 node_t *req_np; /* HTTP request node_t */
1208 * to the req_np and to any inderect node_t (i.e. file/ctag) ...
1210 node_t *xmit_refed; /* have a ref to the uri node_t */
1211 node_t *xmit_cur; /* current node to transmit */
1217 node_t *np; /* node_t pointer for ref */
1222 node_t *refed; /* have a ref to the node_t */
1683 extern void node_fr(node_t *);
1713 extern node_t *nca_node_flush(node_t *);
1716 extern node_t *ctag_lookup(uint64_t, unsigned *);
1717 extern node_t *node_replace(node_t *, nca_conn_t *);
1718 extern node_t *node_temp(node_t *, nca_conn_t *);
1719 extern void find_ctags(node_t *, nca_io2_t *, int *);
2079 extern node_t *nca_http_response(nca_conn_t *, const char *, int, char *, int,
2081 extern node_t *nca_http_response_node(nca_conn_t *, const char *, int, node_t *,
2084 extern node_t *nca_http_response(nca_conn_t *, const char *, int, char *, int,
2086 extern node_t *nca_http_response_node(nca_conn_t *, const char *, int,
2087 node_t *);
2089 extern void nca_node_del(node_t *);
2090 extern void nca_node_uncache(node_t *);
2091 extern node_t *nca_node_add(char *, int, nodef_t *, int);
2092 extern node_t *node_create(int, boolean_t, char *, int);
2093 extern void nca_reclaim_phys(node_t *, boolean_t, boolean_t);
2094 extern boolean_t nca_http_pmap(node_t *);
2095 extern boolean_t nca_http_vmap(node_t *, int);
2097 extern node_t *nca_httpd_data(node_t *, nca_conn_t *, nca_io2_t *, int);
2098 extern void nca_missed(node_t *, mblk_t *, nca_squeue_t *);
2099 extern void nca_miss_conn_mv(node_t *, nca_conn_t *);
2100 extern void nca_miss_conn_fr(node_t *, nca_conn_t *);
2103 extern void nca_node_xmit(node_t *, nca_conn_t *);