Lines Matching full:new
19 * can later be used to tell whether any new errors have occurred since that
22 * Note that there is a risk of collisions if new errors are being recorded
26 * been sampled since a new value was recorded. That allows us to avoid bumping
30 * A new errseq_t should always be zeroed out. A errseq_t value of all zeroes
80 errseq_t new; in errseq_set() local
82 /* Clear out error bits and set new error */ in errseq_set()
83 new = (old & ~(ERRNO_MASK | ERRSEQ_SEEN)) | -err; in errseq_set()
87 new += ERRSEQ_CTR_INC; in errseq_set()
90 if (new == old) { in errseq_set()
91 cur = new; in errseq_set()
95 /* Try to swap the new value into place */ in errseq_set()
96 cur = cmpxchg(eseq, old, new); in errseq_set()
102 if (likely(cur == old || cur == new)) in errseq_set()
117 * If the error has been "seen", new callers will not see an old error.
165 * swap it into place as the new eseq value. Then, set that value as the new
173 * Return: Negative errno if one has been stored, or 0 if no new error has
179 errseq_t old, new; in errseq_check_and_advance() local
200 new = old | ERRSEQ_SEEN; in errseq_check_and_advance()
201 if (new != old) in errseq_check_and_advance()
202 cmpxchg(eseq, old, new); in errseq_check_and_advance()
203 *since = new; in errseq_check_and_advance()
204 err = -(new & ERRNO_MASK); in errseq_check_and_advance()