| Function report | 
| Source Code: lib\xarray.c | Create Date:2022-07-28 06:13:24 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:xas_expand adds nodes to the head of the tree until it has reached* sufficient height to be able to contain @xas->xa_index
Proto:static int xas_expand(struct xa_state *xas, void *head)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct xa_state * | xas | |
| void * | head | 
| 559 | shift = 0 | 
| 562 | If Not head Then | 
| 563 | If max == 0 Then Return 0 | 
| 565 | When max >> shift >= XA_CHUNK_SIZE cycle | 
| 568 | Else if Private Then | 
| 572 | xa_node = NULL | 
| 575 | mark = 0 | 
| 577 | XA_NODE_BUG_ON(node, shift > BITS_PER_LONG) | 
| 582 | Total entry count = 1 | 
| 583 | If xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer. Then Value entry count = 1 | 
| 588 | cycle | 
| 589 | If xa_track_free(xa) && mark == XA_FREE_MARK Then | 
| 590 | node_mark_all(node, XA_FREE_MARK) | 
| 593 | xa_mark_set(xa, XA_FREE_MARK) | 
| 598 | If mark == XA_MARK_MAX Then Break | 
| 607 | If Private Then | 
| 608 | Slot offset in parent = 0 | 
| 613 | xas_update(xas, node) | 
| 619 | Return shift | 
| Name | Describe | 
|---|---|
| xas_create | xas_create() - Create a slot to store an entry in.*@xas: XArray operation state.*@allow_root: %true if we can store the entry in the root directly* Most users will not need to call this function directly, as it is called* by xas_store() | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |