Home
last modified time | relevance | path

Searched refs:errseq_t (Results 1 – 16 of 16) sorted by relevance

/linux-6.15/Documentation/translations/zh_CN/core-api/
H A Derrseq.rst16 errseq_t数据类型
19 ``errseq_t`` 是一种在一个地方记录错误的方法,并允许任意数量的 ``订阅者`` 判断自上
41 总体思路是让 ``观察者`` 对errseq_t值进行采样,并将其保留为运行游标。该值稍后可用
45 新的errseq_t应始终清零。全零的errseq_t值是从未出现错误的特殊(但常见)情况。因此,
65 errseq_t wd_err; /* 用来记录错误 */
72 wd.wd_err = (errseq_t)0;
110 他只需对员工当前的errseq_t进行采样,然后用它来判断后来是否发生了错误::
112 errseq_t since = errseq_sample(&wd.wd_err);
119 序列化更新errseq_t游标
122 请注意,errseq_t API在check_and_advance_operation期间不保护errseq_t游标。只有典型
[all …]
/linux-6.15/lib/
H A Derrseq.c59 errseq_t errseq_set(errseq_t *eseq, int err) in errseq_set()
61 errseq_t cur, old; in errseq_set()
79 errseq_t new; in errseq_set()
123 errseq_t errseq_sample(errseq_t *eseq) in errseq_sample()
125 errseq_t old = READ_ONCE(*eseq); in errseq_sample()
145 int errseq_check(errseq_t *eseq, errseq_t since) in errseq_check()
147 errseq_t cur = READ_ONCE(*eseq); in errseq_check()
175 int errseq_check_and_advance(errseq_t *eseq, errseq_t *since) in errseq_check_and_advance()
178 errseq_t old, new; in errseq_check_and_advance()
/linux-6.15/include/linux/
H A Derrseq.h8 typedef u32 errseq_t; typedef
10 errseq_t errseq_set(errseq_t *eseq, int err);
11 errseq_t errseq_sample(errseq_t *eseq);
12 int errseq_check(errseq_t *eseq, errseq_t since);
13 int errseq_check_and_advance(errseq_t *eseq, errseq_t *since);
H A Dpagemap.h103 errseq_t since) in filemap_check_wb_err()
115 static inline errseq_t filemap_sample_wb_err(struct address_space *mapping) in filemap_sample_wb_err()
127 static inline errseq_t file_sample_sb_err(struct file *file) in file_sample_sb_err()
H A Dfs.h518 errseq_t wb_err;
1108 errseq_t f_wb_err;
1109 errseq_t f_sb_err;
1417 errseq_t s_wb_err;
H A Djbd2.h993 errseq_t j_fs_dev_wb_err;
/linux-6.15/Documentation/core-api/
H A Derrseq.rst2 The errseq_t datatype
5 An errseq_t is a way of recording errors in one place, and allowing any
34 The general idea is for "watchers" to sample an errseq_t value and keep
41 A new errseq_t should always be zeroed out. An errseq_t value of all zeroes
66 errseq_t wd_err; /* for recording errors */
73 wd.wd_err = (errseq_t)0;
119 He can just sample the current errseq_t in the worker, and then use that
122 errseq_t since = errseq_sample(&wd.wd_err);
130 Serializing errseq_t cursor updates
133 Note that the errseq_t API does not protect the errseq_t cursor during a
[all …]
/linux-6.15/include/trace/events/
H A Dfilemap.h144 TP_PROTO(struct address_space *mapping, errseq_t eseq),
151 __field(errseq_t, errseq)
169 TP_PROTO(struct file *file, errseq_t old),
177 __field(errseq_t, old)
178 __field(errseq_t, new)
/linux-6.15/fs/overlayfs/
H A Dovl_entry.h92 errseq_t errseq;
/linux-6.15/fs/nfs/
H A Dfile.c143 errseq_t since; in nfs_file_flush()
651 errseq_t since; in nfs_file_write()
H A Dnfs4file.c114 errseq_t since; in nfs4_file_flush()
/linux-6.15/fs/nfsd/
H A Dvfs.c653 errseq_t since; in nfsd4_clone_file_range()
1153 errseq_t since; in nfsd_vfs_write()
1359 errseq_t since = READ_ONCE(nf->nf_file->f_wb_err); in nfsd_commit()
H A Dnfs4proc.c1737 errseq_t since; in _nfsd_copy_file_range()
/linux-6.15/fs/gfs2/
H A Dlops.c519 errseq_t since; in gfs2_find_jhead()
/linux-6.15/mm/
H A Dfilemap.c711 errseq_t eseq = errseq_set(&mapping->wb_err, err); in __filemap_set_wb_err()
744 errseq_t old = READ_ONCE(file->f_wb_err); in file_check_and_advance_wb_err()
/linux-6.15/fs/ext4/
H A Dext4.h1707 errseq_t s_bdev_wb_err;