Home
last modified time | relevance | path

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

/Linux-v6.6/Documentation/translations/zh_CN/core-api/
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;
78 errseq_t s_wd_err; /* wd_err的私有“游标” */
110 他只需对员工当前的errseq_t进行采样,然后用它来判断后来是否发生了错误::
112 errseq_t since = errseq_sample(&wd.wd_err);
119 序列化更新errseq_t游标
[all …]
/Linux-v6.6/lib/
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-v6.6/include/linux/
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);
Dpagemap.h99 errseq_t since) in filemap_check_wb_err()
111 static inline errseq_t filemap_sample_wb_err(struct address_space *mapping) in filemap_sample_wb_err()
123 static inline errseq_t file_sample_sb_err(struct file *file) in file_sample_sb_err()
Dfs.h486 errseq_t wb_err;
1028 errseq_t f_wb_err;
1029 errseq_t f_sb_err; /* for syncfs */
1283 errseq_t s_wb_err;
/Linux-v6.6/Documentation/core-api/
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;
79 errseq_t s_wd_err; /* private "cursor" for wd_err */
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
[all …]
/Linux-v6.6/include/trace/events/
Dfilemap.h60 TP_PROTO(struct address_space *mapping, errseq_t eseq),
67 __field(errseq_t, errseq)
85 TP_PROTO(struct file *file, errseq_t old),
93 __field(errseq_t, old)
94 __field(errseq_t, new)
/Linux-v6.6/fs/overlayfs/
Dovl_entry.h93 errseq_t errseq;
/Linux-v6.6/fs/nfs/
Dfile.c142 errseq_t since; in nfs_file_flush()
643 errseq_t since; in nfs_file_write()
Dnfs4file.c113 errseq_t since; in nfs4_file_flush()
/Linux-v6.6/fs/nfsd/
Dvfs.c618 errseq_t since; in nfsd4_clone_file_range()
1130 errseq_t since; in nfsd_vfs_write()
1319 errseq_t since = READ_ONCE(nf->nf_file->f_wb_err); in nfsd_commit()
Dnfs4proc.c1633 errseq_t since; in _nfsd_copy_file_range()
/Linux-v6.6/fs/gfs2/
Dlops.c526 errseq_t since; in gfs2_find_jhead()
/Linux-v6.6/mm/
Dfilemap.c698 errseq_t eseq = errseq_set(&mapping->wb_err, err); in __filemap_set_wb_err()
731 errseq_t old = READ_ONCE(file->f_wb_err); in file_check_and_advance_wb_err()
/Linux-v6.6/fs/ext4/
Dext4.h1688 errseq_t s_bdev_wb_err;