summaryrefslogtreecommitdiff
path: root/include/linux/errseq.h
diff options
context:
space:
mode:
authorDoug Ledford <dledford@redhat.com>2017-07-17 18:26:58 +0300
committerDoug Ledford <dledford@redhat.com>2017-07-17 18:26:58 +0300
commit3d886aa3be15439e05784ac1cbd4acc2f13c0048 (patch)
tree5d7d5943c7f6697e640bdd684a560e9af7942300 /include/linux/errseq.h
parentb6ea01ba3fe9dcb5e08bbd9ed482845582a1e80b (diff)
parent5771a8c08880cdca3bfb4a3fc6d309d6bba20877 (diff)
downloadlinux-3d886aa3be15439e05784ac1cbd4acc2f13c0048.tar.xz
Merge tag 'v4.13-rc1' into k.o/for-4.13-rc
Linux v4.13-rc1
Diffstat (limited to 'include/linux/errseq.h')
-rw-r--r--include/linux/errseq.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/errseq.h b/include/linux/errseq.h
new file mode 100644
index 000000000000..9e0d444ac88d
--- /dev/null
+++ b/include/linux/errseq.h
@@ -0,0 +1,19 @@
+#ifndef _LINUX_ERRSEQ_H
+#define _LINUX_ERRSEQ_H
+
+/* See lib/errseq.c for more info */
+
+typedef u32 errseq_t;
+
+errseq_t __errseq_set(errseq_t *eseq, int err);
+static inline void errseq_set(errseq_t *eseq, int err)
+{
+ /* Optimize for the common case of no error */
+ if (unlikely(err))
+ __errseq_set(eseq, err);
+}
+
+errseq_t errseq_sample(errseq_t *eseq);
+int errseq_check(errseq_t *eseq, errseq_t since);
+int errseq_check_and_advance(errseq_t *eseq, errseq_t *since);
+#endif