Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\xarray.c Create Date:2022-07-28 06:13:26
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:xas_create_range() - Ensure that stores to this range will succeed*@xas: XArray operation state.* Creates all of the slots in the range covered by @xas. Sets @xas to* create single-index entries and positions it at the beginning of the* range

Proto:void xas_create_range(struct xa_state *xas)

Type:void

Parameter:

TypeParameterName
struct xa_state *xas
702  index = xa_index
703  shift = xa_shift
704  sibs = xa_sibs
706  xa_index |= ( sibs + 1 << shift) - 1
707  If xas_is_node() - Does the xas point to a node?*@xas: XArray operation state.* Return: %true if the xas currently references a node. && Bits remaining in each slot == xa_shift Then xa_offset |= sibs
709  xa_shift = 0
710  xa_sibs = 0
712  cycle
713  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()
714  If xas_error() - Return an errno stored in the xa_state.*@xas: XArray operation state.* Return: 0 if no error has been noted. A negative errno if one has. Then Go to restore
716  If xa_index <= (index | XA_CHUNK_MASK) Then Go to success
718  xa_index -= XA_CHUNK_SIZE
720  cycle
721  node = xa_node
722  xa_node = Private
724  If Slot offset in parent != 0 Then Break
729  restore :
730  xa_shift = shift
731  xa_sibs = sibs
732  xa_index = index
733  Return
734  success :
735  xa_index = index
736  If xa_node Then xas_set_offset(xas)
Caller
NameDescribe
xa_store_many_order
check_create_range_3
check_create_range_4