#define sizeof_field(type, member) FIELD_SIZEOF(type, member)
#endif
+#ifndef HAVE_TASK_IS_RUNNING
+#define task_is_running(task) (task->state == TASK_RUNNING)
+#endif
+
+#ifndef memset_startat
+/** from linux 5.19 include/linux/string.h: */
+#define memset_startat(obj, v, member) \
+({ \
+ u8 *__ptr = (u8 *)(obj); \
+ typeof(v) __val = (v); \
+ memset(__ptr + offsetof(typeof(*(obj)), member), __val, \
+ sizeof(*(obj)) - offsetof(typeof(*(obj)), member)); \
+})
+#endif /* memset_startat() */
+
#ifdef HAVE_KALLSYMS_LOOKUP_NAME
static inline void *cfs_kallsyms_lookup_name(const char *name)
{
}
#endif
+#ifndef HAVE_KOBJ_TYPE_DEFAULT_GROUPS
+#define default_groups default_attrs
+#define KOBJ_ATTR_GROUPS(_name) _name##_attrs
+#define KOBJ_ATTRIBUTE_GROUPS(_name)
+#else
+#define KOBJ_ATTR_GROUPS(_name) _name##_groups
+#define KOBJ_ATTRIBUTE_GROUPS(_name) ATTRIBUTE_GROUPS(_name)
+#endif
+
#endif /* __LIBCFS_LINUX_MISC_H__ */