函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:seq_set - set a errseq_t for later reporting*@eseq: errseq_t field that should be set*@err: error to set (must be between -1 and -MAX_ERRNO)* This function sets the error in @eseq, and increments the sequence counter

函数原型:errseq_t errseq_set(errseq_t *eseq, int err)

返回类型:errseq_t

参数:

类型参数名称
errseq_t *eseq
interr
63  BUILD_BUG_ON_NOT_POWER_OF_2(Kernel pointers have redundant information, so we can use a* scheme where we can return either an error code or a normal* pointer with the same return value.* This should be a per-architecture thing, to allow different* error and pointer decisions. + 1)
71  old等于READ_ONCE( * eseq)
73  如果WARN(此条件成立可能性小(为编译器优化)(err == 0 || (unsignedint) - err > Kernel pointers have redundant information, so we can use a* scheme where we can return either an error code or a normal* pointer with the same return value.* This should be a per-architecture thing, to allow different* error and pointer decisions.), "err = %d\n", err)则返回:old
77  循环
81  new等于old按位与Kernel pointers have redundant information, so we can use a* scheme where we can return either an error code or a normal* pointer with the same return value.* This should be a per-architecture thing, to allow different* error and pointer decisions.按位或This bit is used as a flag to indicate whether the value has been seen 的值的反按位或负err
84  如果old按位与This bit is used as a flag to indicate whether the value has been seen new加等于The lowest bit of the counter
88  如果new恒等于old
89  cur等于new
90  退出
94  cur等于cmpxchg(eseq, old, new)
100  如果此条件成立可能性大(为编译器优化)(cur == old || cur == new)则退出
104  old等于cur
106  返回:cur
调用者
名称描述
dio_warn_stale_pagecacheWarn about a page cache invalidation failure during a direct I/O write.
__filemap_set_wb_err