函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\xarray.c Create Date:2022-07-27 07:10:52
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:xa_store_range() - Store this entry at a range of indices in the XArray

函数原型:void *xa_store_range(struct xarray *xa, unsigned long first, unsigned long last, void *entry, gfp_t gfp)

返回类型:void

参数:

类型参数名称
struct xarray *xa
unsigned longfirst
unsigned longlast
void *entry
gfp_tgfp
1561  XA_STATE() - Declare an XArray operation state.*@name: Name of this operation state (usually xas).*@array: Array to operate on.*@index: Initial index of interest.* Declare and initialise an xa_state on the stack.(xas, xa, 0)
1563  如果WARN_ON_ONCE(xa_is_internal() - Is the entry an internal entry?*@entry: XArray entry.* Context: Any context.* Return: %true if the entry is an internal entry.)则返回:We encode errnos in the xas->xa_node. If an error has happened, we need to* drop the lock to fix it, and once we've done so the xa_state is invalid.( - EINVAL)
1565  如果last小于first则返回:We encode errnos in the xas->xa_node. If an error has happened, we need to* drop the lock to fix it, and once we've done so the xa_state is invalid.( - EINVAL)
1568  循环
1569  xas_lock( & xas)
1570  如果entry
1571  order等于BITS_PER_LONG
1572  如果last加1则order等于在字中找到第一个指定位
1579  循环
1580  xas_set_range( & xas, first, last)
1585 first小于等于last循环
1586  unlock :
1587  xas_unlock( & xas)
1588 xas_nomem() - Allocate memory if needed.*@xas: XArray operation state.*@gfp: Memory allocation flags.* If we need to add new nodes to the XArray, we try to allocate memory* with GFP_NOWAIT while holding the lock, which will usually succeed.循环
1590  返回:xas_result( & xas, NULL)
调用者
名称描述
__check_store_range