1. 06 7月, 2017 1 次提交
    • J
      lib: add errseq_t type and infrastructure for handling it · 84cbadad
      Jeff Layton 提交于
      An errseq_t is a way of recording errors in one place, and allowing any
      number of "subscribers" to tell whether an error has been set again
      since a previous time.
      
      It's implemented as an unsigned 32-bit value that is managed with atomic
      operations. The low order bits are designated to hold an error code
      (max size of MAX_ERRNO). The upper bits are used as a counter.
      
      The API works with consumers sampling an errseq_t value at a particular
      point in time. Later, that value can be used to tell whether new errors
      have been set since that time.
      
      Note that there is a 1 in 512k risk of collisions here if new errors
      are being recorded frequently, since we have so few bits to use as a
      counter. To mitigate this, one bit is used as a flag to tell whether the
      value has been sampled since a new value was recorded. That allows
      us to avoid bumping the counter if no one has sampled it since it
      was last bumped.
      
      Later patches will build on this infrastructure to change how writeback
      errors are tracked in the kernel.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Reviewed-by: NNeilBrown <neilb@suse.com>
      Reviewed-by: NJan Kara <jack@suse.cz>
      84cbadad
  2. 18 5月, 2017 1 次提交
  3. 15 5月, 2017 2 次提交
  4. 13 5月, 2017 1 次提交
  5. 11 5月, 2017 1 次提交
  6. 09 5月, 2017 2 次提交
  7. 04 5月, 2017 1 次提交
  8. 01 5月, 2017 1 次提交
  9. 29 4月, 2017 2 次提交
  10. 28 4月, 2017 4 次提交
  11. 26 4月, 2017 2 次提交
  12. 25 4月, 2017 6 次提交
  13. 24 4月, 2017 1 次提交
  14. 22 4月, 2017 2 次提交
  15. 21 4月, 2017 6 次提交
  16. 20 4月, 2017 3 次提交
  17. 19 4月, 2017 2 次提交
  18. 18 4月, 2017 2 次提交
新手
引导
客服 返回
顶部