Searched refs:errseq_t (Results 1 – 15 of 15) sorted by relevance
/linux-6.3-rc2/Documentation/translations/zh_CN/core-api/ |
A D | errseq.rst | 16 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.3-rc2/lib/ |
A D | errseq.c | 59 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.3-rc2/include/linux/ |
A D | errseq.h | 8 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);
|
A D | pagemap.h | 95 errseq_t since) in filemap_check_wb_err() 107 static inline errseq_t filemap_sample_wb_err(struct address_space *mapping) in filemap_sample_wb_err() 119 static inline errseq_t file_sample_sb_err(struct file *file) in file_sample_sb_err()
|
A D | fs.h | 442 errseq_t wb_err; 978 errseq_t f_wb_err; 979 errseq_t f_sb_err; /* for syncfs */ 1232 errseq_t s_wb_err;
|
/linux-6.3-rc2/Documentation/core-api/ |
A D | errseq.rst | 2 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.3-rc2/include/trace/events/ |
A D | filemap.h | 60 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-6.3-rc2/fs/overlayfs/ |
A D | ovl_entry.h | 85 errseq_t errseq;
|
/linux-6.3-rc2/fs/nfs/ |
A D | file.c | 142 errseq_t since; in nfs_file_flush() 630 errseq_t since; in nfs_file_write()
|
A D | nfs4file.c | 113 errseq_t since; in nfs4_file_flush()
|
/linux-6.3-rc2/fs/nfsd/ |
A D | vfs.c | 608 errseq_t since; in nfsd4_clone_file_range() 1066 errseq_t since; in nfsd_vfs_write() 1247 errseq_t since = READ_ONCE(nf->nf_file->f_wb_err); in nfsd_commit()
|
A D | nfs4proc.c | 1600 errseq_t since; in _nfsd_copy_file_range()
|
/linux-6.3-rc2/fs/gfs2/ |
A D | lops.c | 525 errseq_t since; in gfs2_find_jhead()
|
/linux-6.3-rc2/mm/ |
A D | filemap.c | 698 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-6.3-rc2/fs/ext4/ |
A D | ext4.h | 1715 errseq_t s_bdev_wb_err;
|
Completed in 53 milliseconds