Coverage Report

Created: 2025-06-22 06:56

/src/util-linux/include/list.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
3
 * Copyright (C) 1999-2008 by Theodore Ts'o
4
 *
5
 * This file may be redistributed under the terms of the
6
 * GNU Lesser General Public License.
7
 *
8
 * (based on list.h from e2fsprogs)
9
 * Merge sort based on kernel's implementation.
10
 */
11
12
#ifndef UTIL_LINUX_LIST_H
13
#define UTIL_LINUX_LIST_H
14
15
#include "c.h"
16
17
/* TODO: use AC_C_INLINE */
18
#ifdef __GNUC__
19
#define _INLINE_ static __inline__
20
#else                         /* For Watcom C */
21
#define _INLINE_ static inline
22
#endif
23
24
/*
25
 * Simple doubly linked list implementation.
26
 *
27
 * Some of the internal functions ("__xxx") are useful when
28
 * manipulating whole lists rather than single entries, as
29
 * sometimes we already know the next/prev entries and we can
30
 * generate better code by using them directly rather than
31
 * using the generic single-entry routines.
32
 */
33
34
struct list_head {
35
  struct list_head *next, *prev;
36
};
37
38
269k
#define INIT_LIST_HEAD(ptr) do { \
39
269k
  (ptr)->next = (ptr); (ptr)->prev = (ptr); \
40
269k
} while (0)
41
42
/*
43
 * Insert a new entry between two known consecutive entries.
44
 *
45
 * This is only for internal list manipulation where we know
46
 * the prev/next entries already!
47
 */
48
_INLINE_ void __list_add(struct list_head * add,
49
  struct list_head * prev,
50
  struct list_head * next)
51
306k
{
52
306k
  next->prev = add;
53
306k
  add->next = next;
54
306k
  add->prev = prev;
55
306k
  prev->next = add;
56
306k
}
probe.c:__list_add
Line
Count
Source
51
306k
{
52
306k
  next->prev = add;
53
306k
  add->next = next;
54
306k
  add->prev = prev;
55
306k
  prev->next = add;
56
306k
}
Unexecuted instantiation: tag.c:__list_add
Unexecuted instantiation: verify.c:__list_add
Unexecuted instantiation: partitions.c:__list_add
Unexecuted instantiation: sgi.c:__list_add
Unexecuted instantiation: solaris_x86.c:__list_add
Unexecuted instantiation: sun.c:__list_add
Unexecuted instantiation: ultrix.c:__list_add
Unexecuted instantiation: unixware.c:__list_add
Unexecuted instantiation: superblocks.c:__list_add
Unexecuted instantiation: swap.c:__list_add
Unexecuted instantiation: sysv.c:__list_add
Unexecuted instantiation: ubi.c:__list_add
Unexecuted instantiation: ubifs.c:__list_add
Unexecuted instantiation: udf.c:__list_add
Unexecuted instantiation: ufs.c:__list_add
Unexecuted instantiation: vdo.c:__list_add
Unexecuted instantiation: vfat.c:__list_add
Unexecuted instantiation: via_raid.c:__list_add
Unexecuted instantiation: vmfs.c:__list_add
Unexecuted instantiation: vxfs.c:__list_add
Unexecuted instantiation: xfs.c:__list_add
Unexecuted instantiation: zfs.c:__list_add
Unexecuted instantiation: zonefs.c:__list_add
Unexecuted instantiation: erofs.c:__list_add
Unexecuted instantiation: topology.c:__list_add
Unexecuted instantiation: dm.c:__list_add
Unexecuted instantiation: evms.c:__list_add
Unexecuted instantiation: ioctl.c:__list_add
Unexecuted instantiation: lvm.c:__list_add
Unexecuted instantiation: md.c:__list_add
Unexecuted instantiation: sysfs.c:__list_add
Unexecuted instantiation: init.c:__list_add
Unexecuted instantiation: dev.c:__list_add
Unexecuted instantiation: devname.c:__list_add
Unexecuted instantiation: devno.c:__list_add
Unexecuted instantiation: read.c:__list_add
Unexecuted instantiation: save.c:__list_add
Unexecuted instantiation: aix.c:__list_add
Unexecuted instantiation: atari.c:__list_add
Unexecuted instantiation: bsd.c:__list_add
Unexecuted instantiation: dos.c:__list_add
Unexecuted instantiation: gpt.c:__list_add
Unexecuted instantiation: mac.c:__list_add
Unexecuted instantiation: minix.c:__list_add
Unexecuted instantiation: adaptec_raid.c:__list_add
Unexecuted instantiation: apfs.c:__list_add
Unexecuted instantiation: bcache.c:__list_add
Unexecuted instantiation: befs.c:__list_add
Unexecuted instantiation: bfs.c:__list_add
Unexecuted instantiation: bitlocker.c:__list_add
Unexecuted instantiation: bluestore.c:__list_add
Unexecuted instantiation: btrfs.c:__list_add
Unexecuted instantiation: cs_fvault2.c:__list_add
Unexecuted instantiation: cramfs.c:__list_add
Unexecuted instantiation: ddf_raid.c:__list_add
Unexecuted instantiation: drbd.c:__list_add
Unexecuted instantiation: drbdproxy_datalog.c:__list_add
Unexecuted instantiation: drbdmanage.c:__list_add
Unexecuted instantiation: exfat.c:__list_add
Unexecuted instantiation: exfs.c:__list_add
Unexecuted instantiation: ext.c:__list_add
Unexecuted instantiation: f2fs.c:__list_add
Unexecuted instantiation: gfs.c:__list_add
Unexecuted instantiation: hfs.c:__list_add
Unexecuted instantiation: highpoint_raid.c:__list_add
Unexecuted instantiation: hpfs.c:__list_add
Unexecuted instantiation: iso9660.c:__list_add
Unexecuted instantiation: isw_raid.c:__list_add
Unexecuted instantiation: jfs.c:__list_add
Unexecuted instantiation: jmicron_raid.c:__list_add
Unexecuted instantiation: linux_raid.c:__list_add
Unexecuted instantiation: lsi_raid.c:__list_add
Unexecuted instantiation: luks.c:__list_add
Unexecuted instantiation: mpool.c:__list_add
Unexecuted instantiation: netware.c:__list_add
Unexecuted instantiation: nilfs.c:__list_add
Unexecuted instantiation: ntfs.c:__list_add
Unexecuted instantiation: refs.c:__list_add
Unexecuted instantiation: nvidia_raid.c:__list_add
Unexecuted instantiation: ocfs.c:__list_add
Unexecuted instantiation: promise_raid.c:__list_add
Unexecuted instantiation: reiserfs.c:__list_add
Unexecuted instantiation: romfs.c:__list_add
Unexecuted instantiation: scoutfs.c:__list_add
Unexecuted instantiation: silicon_raid.c:__list_add
Unexecuted instantiation: squashfs.c:__list_add
Unexecuted instantiation: stratis.c:__list_add
Unexecuted instantiation: cache.c:__list_add
Unexecuted instantiation: config.c:__list_add
57
58
/**
59
 * list_add - add a new entry
60
 * @add:  new entry to be added
61
 * @head: list head to add it after
62
 *
63
 * Insert a new entry after the specified head.
64
 * This is good for implementing stacks.
65
 */
66
_INLINE_ void list_add(struct list_head *add, struct list_head *head)
67
77.0k
{
68
77.0k
  __list_add(add, head, head->next);
69
77.0k
}
probe.c:list_add
Line
Count
Source
67
77.0k
{
68
77.0k
  __list_add(add, head, head->next);
69
77.0k
}
Unexecuted instantiation: tag.c:list_add
Unexecuted instantiation: verify.c:list_add
Unexecuted instantiation: partitions.c:list_add
Unexecuted instantiation: sgi.c:list_add
Unexecuted instantiation: solaris_x86.c:list_add
Unexecuted instantiation: sun.c:list_add
Unexecuted instantiation: ultrix.c:list_add
Unexecuted instantiation: unixware.c:list_add
Unexecuted instantiation: superblocks.c:list_add
Unexecuted instantiation: swap.c:list_add
Unexecuted instantiation: sysv.c:list_add
Unexecuted instantiation: ubi.c:list_add
Unexecuted instantiation: ubifs.c:list_add
Unexecuted instantiation: udf.c:list_add
Unexecuted instantiation: ufs.c:list_add
Unexecuted instantiation: vdo.c:list_add
Unexecuted instantiation: vfat.c:list_add
Unexecuted instantiation: via_raid.c:list_add
Unexecuted instantiation: vmfs.c:list_add
Unexecuted instantiation: vxfs.c:list_add
Unexecuted instantiation: xfs.c:list_add
Unexecuted instantiation: zfs.c:list_add
Unexecuted instantiation: zonefs.c:list_add
Unexecuted instantiation: erofs.c:list_add
Unexecuted instantiation: topology.c:list_add
Unexecuted instantiation: dm.c:list_add
Unexecuted instantiation: evms.c:list_add
Unexecuted instantiation: ioctl.c:list_add
Unexecuted instantiation: lvm.c:list_add
Unexecuted instantiation: md.c:list_add
Unexecuted instantiation: sysfs.c:list_add
Unexecuted instantiation: init.c:list_add
Unexecuted instantiation: dev.c:list_add
Unexecuted instantiation: devname.c:list_add
Unexecuted instantiation: devno.c:list_add
Unexecuted instantiation: read.c:list_add
Unexecuted instantiation: save.c:list_add
Unexecuted instantiation: aix.c:list_add
Unexecuted instantiation: atari.c:list_add
Unexecuted instantiation: bsd.c:list_add
Unexecuted instantiation: dos.c:list_add
Unexecuted instantiation: gpt.c:list_add
Unexecuted instantiation: mac.c:list_add
Unexecuted instantiation: minix.c:list_add
Unexecuted instantiation: adaptec_raid.c:list_add
Unexecuted instantiation: apfs.c:list_add
Unexecuted instantiation: bcache.c:list_add
Unexecuted instantiation: befs.c:list_add
Unexecuted instantiation: bfs.c:list_add
Unexecuted instantiation: bitlocker.c:list_add
Unexecuted instantiation: bluestore.c:list_add
Unexecuted instantiation: btrfs.c:list_add
Unexecuted instantiation: cs_fvault2.c:list_add
Unexecuted instantiation: cramfs.c:list_add
Unexecuted instantiation: ddf_raid.c:list_add
Unexecuted instantiation: drbd.c:list_add
Unexecuted instantiation: drbdproxy_datalog.c:list_add
Unexecuted instantiation: drbdmanage.c:list_add
Unexecuted instantiation: exfat.c:list_add
Unexecuted instantiation: exfs.c:list_add
Unexecuted instantiation: ext.c:list_add
Unexecuted instantiation: f2fs.c:list_add
Unexecuted instantiation: gfs.c:list_add
Unexecuted instantiation: hfs.c:list_add
Unexecuted instantiation: highpoint_raid.c:list_add
Unexecuted instantiation: hpfs.c:list_add
Unexecuted instantiation: iso9660.c:list_add
Unexecuted instantiation: isw_raid.c:list_add
Unexecuted instantiation: jfs.c:list_add
Unexecuted instantiation: jmicron_raid.c:list_add
Unexecuted instantiation: linux_raid.c:list_add
Unexecuted instantiation: lsi_raid.c:list_add
Unexecuted instantiation: luks.c:list_add
Unexecuted instantiation: mpool.c:list_add
Unexecuted instantiation: netware.c:list_add
Unexecuted instantiation: nilfs.c:list_add
Unexecuted instantiation: ntfs.c:list_add
Unexecuted instantiation: refs.c:list_add
Unexecuted instantiation: nvidia_raid.c:list_add
Unexecuted instantiation: ocfs.c:list_add
Unexecuted instantiation: promise_raid.c:list_add
Unexecuted instantiation: reiserfs.c:list_add
Unexecuted instantiation: romfs.c:list_add
Unexecuted instantiation: scoutfs.c:list_add
Unexecuted instantiation: silicon_raid.c:list_add
Unexecuted instantiation: squashfs.c:list_add
Unexecuted instantiation: stratis.c:list_add
Unexecuted instantiation: cache.c:list_add
Unexecuted instantiation: config.c:list_add
70
71
/**
72
 * list_add_tail - add a new entry
73
 * @add:  new entry to be added
74
 * @head: list head to add it before
75
 *
76
 * Insert a new entry before the specified head.
77
 * This is useful for implementing queues.
78
 */
79
_INLINE_ void list_add_tail(struct list_head *add, struct list_head *head)
80
229k
{
81
229k
  __list_add(add, head->prev, head);
82
229k
}
probe.c:list_add_tail
Line
Count
Source
80
229k
{
81
229k
  __list_add(add, head->prev, head);
82
229k
}
Unexecuted instantiation: tag.c:list_add_tail
Unexecuted instantiation: verify.c:list_add_tail
Unexecuted instantiation: partitions.c:list_add_tail
Unexecuted instantiation: sgi.c:list_add_tail
Unexecuted instantiation: solaris_x86.c:list_add_tail
Unexecuted instantiation: sun.c:list_add_tail
Unexecuted instantiation: ultrix.c:list_add_tail
Unexecuted instantiation: unixware.c:list_add_tail
Unexecuted instantiation: superblocks.c:list_add_tail
Unexecuted instantiation: swap.c:list_add_tail
Unexecuted instantiation: sysv.c:list_add_tail
Unexecuted instantiation: ubi.c:list_add_tail
Unexecuted instantiation: ubifs.c:list_add_tail
Unexecuted instantiation: udf.c:list_add_tail
Unexecuted instantiation: ufs.c:list_add_tail
Unexecuted instantiation: vdo.c:list_add_tail
Unexecuted instantiation: vfat.c:list_add_tail
Unexecuted instantiation: via_raid.c:list_add_tail
Unexecuted instantiation: vmfs.c:list_add_tail
Unexecuted instantiation: vxfs.c:list_add_tail
Unexecuted instantiation: xfs.c:list_add_tail
Unexecuted instantiation: zfs.c:list_add_tail
Unexecuted instantiation: zonefs.c:list_add_tail
Unexecuted instantiation: erofs.c:list_add_tail
Unexecuted instantiation: topology.c:list_add_tail
Unexecuted instantiation: dm.c:list_add_tail
Unexecuted instantiation: evms.c:list_add_tail
Unexecuted instantiation: ioctl.c:list_add_tail
Unexecuted instantiation: lvm.c:list_add_tail
Unexecuted instantiation: md.c:list_add_tail
Unexecuted instantiation: sysfs.c:list_add_tail
Unexecuted instantiation: init.c:list_add_tail
Unexecuted instantiation: dev.c:list_add_tail
Unexecuted instantiation: devname.c:list_add_tail
Unexecuted instantiation: devno.c:list_add_tail
Unexecuted instantiation: read.c:list_add_tail
Unexecuted instantiation: save.c:list_add_tail
Unexecuted instantiation: aix.c:list_add_tail
Unexecuted instantiation: atari.c:list_add_tail
Unexecuted instantiation: bsd.c:list_add_tail
Unexecuted instantiation: dos.c:list_add_tail
Unexecuted instantiation: gpt.c:list_add_tail
Unexecuted instantiation: mac.c:list_add_tail
Unexecuted instantiation: minix.c:list_add_tail
Unexecuted instantiation: adaptec_raid.c:list_add_tail
Unexecuted instantiation: apfs.c:list_add_tail
Unexecuted instantiation: bcache.c:list_add_tail
Unexecuted instantiation: befs.c:list_add_tail
Unexecuted instantiation: bfs.c:list_add_tail
Unexecuted instantiation: bitlocker.c:list_add_tail
Unexecuted instantiation: bluestore.c:list_add_tail
Unexecuted instantiation: btrfs.c:list_add_tail
Unexecuted instantiation: cs_fvault2.c:list_add_tail
Unexecuted instantiation: cramfs.c:list_add_tail
Unexecuted instantiation: ddf_raid.c:list_add_tail
Unexecuted instantiation: drbd.c:list_add_tail
Unexecuted instantiation: drbdproxy_datalog.c:list_add_tail
Unexecuted instantiation: drbdmanage.c:list_add_tail
Unexecuted instantiation: exfat.c:list_add_tail
Unexecuted instantiation: exfs.c:list_add_tail
Unexecuted instantiation: ext.c:list_add_tail
Unexecuted instantiation: f2fs.c:list_add_tail
Unexecuted instantiation: gfs.c:list_add_tail
Unexecuted instantiation: hfs.c:list_add_tail
Unexecuted instantiation: highpoint_raid.c:list_add_tail
Unexecuted instantiation: hpfs.c:list_add_tail
Unexecuted instantiation: iso9660.c:list_add_tail
Unexecuted instantiation: isw_raid.c:list_add_tail
Unexecuted instantiation: jfs.c:list_add_tail
Unexecuted instantiation: jmicron_raid.c:list_add_tail
Unexecuted instantiation: linux_raid.c:list_add_tail
Unexecuted instantiation: lsi_raid.c:list_add_tail
Unexecuted instantiation: luks.c:list_add_tail
Unexecuted instantiation: mpool.c:list_add_tail
Unexecuted instantiation: netware.c:list_add_tail
Unexecuted instantiation: nilfs.c:list_add_tail
Unexecuted instantiation: ntfs.c:list_add_tail
Unexecuted instantiation: refs.c:list_add_tail
Unexecuted instantiation: nvidia_raid.c:list_add_tail
Unexecuted instantiation: ocfs.c:list_add_tail
Unexecuted instantiation: promise_raid.c:list_add_tail
Unexecuted instantiation: reiserfs.c:list_add_tail
Unexecuted instantiation: romfs.c:list_add_tail
Unexecuted instantiation: scoutfs.c:list_add_tail
Unexecuted instantiation: silicon_raid.c:list_add_tail
Unexecuted instantiation: squashfs.c:list_add_tail
Unexecuted instantiation: stratis.c:list_add_tail
Unexecuted instantiation: cache.c:list_add_tail
Unexecuted instantiation: config.c:list_add_tail
83
84
/*
85
 * Delete a list entry by making the prev/next entries
86
 * point to each other.
87
 *
88
 * This is only for internal list manipulation where we know
89
 * the prev/next entries already!
90
 */
91
_INLINE_ void __list_del(struct list_head * prev,
92
          struct list_head * next)
93
306k
{
94
306k
  next->prev = prev;
95
306k
  prev->next = next;
96
306k
}
probe.c:__list_del
Line
Count
Source
93
306k
{
94
306k
  next->prev = prev;
95
306k
  prev->next = next;
96
306k
}
Unexecuted instantiation: tag.c:__list_del
Unexecuted instantiation: verify.c:__list_del
Unexecuted instantiation: partitions.c:__list_del
Unexecuted instantiation: sgi.c:__list_del
Unexecuted instantiation: solaris_x86.c:__list_del
Unexecuted instantiation: sun.c:__list_del
Unexecuted instantiation: ultrix.c:__list_del
Unexecuted instantiation: unixware.c:__list_del
Unexecuted instantiation: superblocks.c:__list_del
Unexecuted instantiation: swap.c:__list_del
Unexecuted instantiation: sysv.c:__list_del
Unexecuted instantiation: ubi.c:__list_del
Unexecuted instantiation: ubifs.c:__list_del
Unexecuted instantiation: udf.c:__list_del
Unexecuted instantiation: ufs.c:__list_del
Unexecuted instantiation: vdo.c:__list_del
Unexecuted instantiation: vfat.c:__list_del
Unexecuted instantiation: via_raid.c:__list_del
Unexecuted instantiation: vmfs.c:__list_del
Unexecuted instantiation: vxfs.c:__list_del
Unexecuted instantiation: xfs.c:__list_del
Unexecuted instantiation: zfs.c:__list_del
Unexecuted instantiation: zonefs.c:__list_del
Unexecuted instantiation: erofs.c:__list_del
Unexecuted instantiation: topology.c:__list_del
Unexecuted instantiation: dm.c:__list_del
Unexecuted instantiation: evms.c:__list_del
Unexecuted instantiation: ioctl.c:__list_del
Unexecuted instantiation: lvm.c:__list_del
Unexecuted instantiation: md.c:__list_del
Unexecuted instantiation: sysfs.c:__list_del
Unexecuted instantiation: init.c:__list_del
Unexecuted instantiation: dev.c:__list_del
Unexecuted instantiation: devname.c:__list_del
Unexecuted instantiation: devno.c:__list_del
Unexecuted instantiation: read.c:__list_del
Unexecuted instantiation: save.c:__list_del
Unexecuted instantiation: aix.c:__list_del
Unexecuted instantiation: atari.c:__list_del
Unexecuted instantiation: bsd.c:__list_del
Unexecuted instantiation: dos.c:__list_del
Unexecuted instantiation: gpt.c:__list_del
Unexecuted instantiation: mac.c:__list_del
Unexecuted instantiation: minix.c:__list_del
Unexecuted instantiation: adaptec_raid.c:__list_del
Unexecuted instantiation: apfs.c:__list_del
Unexecuted instantiation: bcache.c:__list_del
Unexecuted instantiation: befs.c:__list_del
Unexecuted instantiation: bfs.c:__list_del
Unexecuted instantiation: bitlocker.c:__list_del
Unexecuted instantiation: bluestore.c:__list_del
Unexecuted instantiation: btrfs.c:__list_del
Unexecuted instantiation: cs_fvault2.c:__list_del
Unexecuted instantiation: cramfs.c:__list_del
Unexecuted instantiation: ddf_raid.c:__list_del
Unexecuted instantiation: drbd.c:__list_del
Unexecuted instantiation: drbdproxy_datalog.c:__list_del
Unexecuted instantiation: drbdmanage.c:__list_del
Unexecuted instantiation: exfat.c:__list_del
Unexecuted instantiation: exfs.c:__list_del
Unexecuted instantiation: ext.c:__list_del
Unexecuted instantiation: f2fs.c:__list_del
Unexecuted instantiation: gfs.c:__list_del
Unexecuted instantiation: hfs.c:__list_del
Unexecuted instantiation: highpoint_raid.c:__list_del
Unexecuted instantiation: hpfs.c:__list_del
Unexecuted instantiation: iso9660.c:__list_del
Unexecuted instantiation: isw_raid.c:__list_del
Unexecuted instantiation: jfs.c:__list_del
Unexecuted instantiation: jmicron_raid.c:__list_del
Unexecuted instantiation: linux_raid.c:__list_del
Unexecuted instantiation: lsi_raid.c:__list_del
Unexecuted instantiation: luks.c:__list_del
Unexecuted instantiation: mpool.c:__list_del
Unexecuted instantiation: netware.c:__list_del
Unexecuted instantiation: nilfs.c:__list_del
Unexecuted instantiation: ntfs.c:__list_del
Unexecuted instantiation: refs.c:__list_del
Unexecuted instantiation: nvidia_raid.c:__list_del
Unexecuted instantiation: ocfs.c:__list_del
Unexecuted instantiation: promise_raid.c:__list_del
Unexecuted instantiation: reiserfs.c:__list_del
Unexecuted instantiation: romfs.c:__list_del
Unexecuted instantiation: scoutfs.c:__list_del
Unexecuted instantiation: silicon_raid.c:__list_del
Unexecuted instantiation: squashfs.c:__list_del
Unexecuted instantiation: stratis.c:__list_del
Unexecuted instantiation: cache.c:__list_del
Unexecuted instantiation: config.c:__list_del
97
98
/**
99
 * list_del - deletes entry from list.
100
 * @entry:  the element to delete from the list.
101
 *
102
 * list_empty() on @entry does not return true after this, @entry is
103
 * in an undefined state.
104
 */
105
_INLINE_ void list_del(struct list_head *entry)
106
303k
{
107
303k
  __list_del(entry->prev, entry->next);
108
303k
}
probe.c:list_del
Line
Count
Source
106
303k
{
107
303k
  __list_del(entry->prev, entry->next);
108
303k
}
Unexecuted instantiation: tag.c:list_del
Unexecuted instantiation: verify.c:list_del
Unexecuted instantiation: partitions.c:list_del
Unexecuted instantiation: sgi.c:list_del
Unexecuted instantiation: solaris_x86.c:list_del
Unexecuted instantiation: sun.c:list_del
Unexecuted instantiation: ultrix.c:list_del
Unexecuted instantiation: unixware.c:list_del
Unexecuted instantiation: superblocks.c:list_del
Unexecuted instantiation: swap.c:list_del
Unexecuted instantiation: sysv.c:list_del
Unexecuted instantiation: ubi.c:list_del
Unexecuted instantiation: ubifs.c:list_del
Unexecuted instantiation: udf.c:list_del
Unexecuted instantiation: ufs.c:list_del
Unexecuted instantiation: vdo.c:list_del
Unexecuted instantiation: vfat.c:list_del
Unexecuted instantiation: via_raid.c:list_del
Unexecuted instantiation: vmfs.c:list_del
Unexecuted instantiation: vxfs.c:list_del
Unexecuted instantiation: xfs.c:list_del
Unexecuted instantiation: zfs.c:list_del
Unexecuted instantiation: zonefs.c:list_del
Unexecuted instantiation: erofs.c:list_del
Unexecuted instantiation: topology.c:list_del
Unexecuted instantiation: dm.c:list_del
Unexecuted instantiation: evms.c:list_del
Unexecuted instantiation: ioctl.c:list_del
Unexecuted instantiation: lvm.c:list_del
Unexecuted instantiation: md.c:list_del
Unexecuted instantiation: sysfs.c:list_del
Unexecuted instantiation: init.c:list_del
Unexecuted instantiation: dev.c:list_del
Unexecuted instantiation: devname.c:list_del
Unexecuted instantiation: devno.c:list_del
Unexecuted instantiation: read.c:list_del
Unexecuted instantiation: save.c:list_del
Unexecuted instantiation: aix.c:list_del
Unexecuted instantiation: atari.c:list_del
Unexecuted instantiation: bsd.c:list_del
Unexecuted instantiation: dos.c:list_del
Unexecuted instantiation: gpt.c:list_del
Unexecuted instantiation: mac.c:list_del
Unexecuted instantiation: minix.c:list_del
Unexecuted instantiation: adaptec_raid.c:list_del
Unexecuted instantiation: apfs.c:list_del
Unexecuted instantiation: bcache.c:list_del
Unexecuted instantiation: befs.c:list_del
Unexecuted instantiation: bfs.c:list_del
Unexecuted instantiation: bitlocker.c:list_del
Unexecuted instantiation: bluestore.c:list_del
Unexecuted instantiation: btrfs.c:list_del
Unexecuted instantiation: cs_fvault2.c:list_del
Unexecuted instantiation: cramfs.c:list_del
Unexecuted instantiation: ddf_raid.c:list_del
Unexecuted instantiation: drbd.c:list_del
Unexecuted instantiation: drbdproxy_datalog.c:list_del
Unexecuted instantiation: drbdmanage.c:list_del
Unexecuted instantiation: exfat.c:list_del
Unexecuted instantiation: exfs.c:list_del
Unexecuted instantiation: ext.c:list_del
Unexecuted instantiation: f2fs.c:list_del
Unexecuted instantiation: gfs.c:list_del
Unexecuted instantiation: hfs.c:list_del
Unexecuted instantiation: highpoint_raid.c:list_del
Unexecuted instantiation: hpfs.c:list_del
Unexecuted instantiation: iso9660.c:list_del
Unexecuted instantiation: isw_raid.c:list_del
Unexecuted instantiation: jfs.c:list_del
Unexecuted instantiation: jmicron_raid.c:list_del
Unexecuted instantiation: linux_raid.c:list_del
Unexecuted instantiation: lsi_raid.c:list_del
Unexecuted instantiation: luks.c:list_del
Unexecuted instantiation: mpool.c:list_del
Unexecuted instantiation: netware.c:list_del
Unexecuted instantiation: nilfs.c:list_del
Unexecuted instantiation: ntfs.c:list_del
Unexecuted instantiation: refs.c:list_del
Unexecuted instantiation: nvidia_raid.c:list_del
Unexecuted instantiation: ocfs.c:list_del
Unexecuted instantiation: promise_raid.c:list_del
Unexecuted instantiation: reiserfs.c:list_del
Unexecuted instantiation: romfs.c:list_del
Unexecuted instantiation: scoutfs.c:list_del
Unexecuted instantiation: silicon_raid.c:list_del
Unexecuted instantiation: squashfs.c:list_del
Unexecuted instantiation: stratis.c:list_del
Unexecuted instantiation: cache.c:list_del
Unexecuted instantiation: config.c:list_del
109
110
/**
111
 * list_del_init - deletes entry from list and reinitialize it.
112
 * @entry:  the element to delete from the list.
113
 */
114
_INLINE_ void list_del_init(struct list_head *entry)
115
2.64k
{
116
2.64k
  __list_del(entry->prev, entry->next);
117
2.64k
  INIT_LIST_HEAD(entry);
118
2.64k
}
probe.c:list_del_init
Line
Count
Source
115
2.64k
{
116
2.64k
  __list_del(entry->prev, entry->next);
117
2.64k
  INIT_LIST_HEAD(entry);
118
2.64k
}
Unexecuted instantiation: tag.c:list_del_init
Unexecuted instantiation: verify.c:list_del_init
Unexecuted instantiation: partitions.c:list_del_init
Unexecuted instantiation: sgi.c:list_del_init
Unexecuted instantiation: solaris_x86.c:list_del_init
Unexecuted instantiation: sun.c:list_del_init
Unexecuted instantiation: ultrix.c:list_del_init
Unexecuted instantiation: unixware.c:list_del_init
Unexecuted instantiation: superblocks.c:list_del_init
Unexecuted instantiation: swap.c:list_del_init
Unexecuted instantiation: sysv.c:list_del_init
Unexecuted instantiation: ubi.c:list_del_init
Unexecuted instantiation: ubifs.c:list_del_init
Unexecuted instantiation: udf.c:list_del_init
Unexecuted instantiation: ufs.c:list_del_init
Unexecuted instantiation: vdo.c:list_del_init
Unexecuted instantiation: vfat.c:list_del_init
Unexecuted instantiation: via_raid.c:list_del_init
Unexecuted instantiation: vmfs.c:list_del_init
Unexecuted instantiation: vxfs.c:list_del_init
Unexecuted instantiation: xfs.c:list_del_init
Unexecuted instantiation: zfs.c:list_del_init
Unexecuted instantiation: zonefs.c:list_del_init
Unexecuted instantiation: erofs.c:list_del_init
Unexecuted instantiation: topology.c:list_del_init
Unexecuted instantiation: dm.c:list_del_init
Unexecuted instantiation: evms.c:list_del_init
Unexecuted instantiation: ioctl.c:list_del_init
Unexecuted instantiation: lvm.c:list_del_init
Unexecuted instantiation: md.c:list_del_init
Unexecuted instantiation: sysfs.c:list_del_init
Unexecuted instantiation: init.c:list_del_init
Unexecuted instantiation: dev.c:list_del_init
Unexecuted instantiation: devname.c:list_del_init
Unexecuted instantiation: devno.c:list_del_init
Unexecuted instantiation: read.c:list_del_init
Unexecuted instantiation: save.c:list_del_init
Unexecuted instantiation: aix.c:list_del_init
Unexecuted instantiation: atari.c:list_del_init
Unexecuted instantiation: bsd.c:list_del_init
Unexecuted instantiation: dos.c:list_del_init
Unexecuted instantiation: gpt.c:list_del_init
Unexecuted instantiation: mac.c:list_del_init
Unexecuted instantiation: minix.c:list_del_init
Unexecuted instantiation: adaptec_raid.c:list_del_init
Unexecuted instantiation: apfs.c:list_del_init
Unexecuted instantiation: bcache.c:list_del_init
Unexecuted instantiation: befs.c:list_del_init
Unexecuted instantiation: bfs.c:list_del_init
Unexecuted instantiation: bitlocker.c:list_del_init
Unexecuted instantiation: bluestore.c:list_del_init
Unexecuted instantiation: btrfs.c:list_del_init
Unexecuted instantiation: cs_fvault2.c:list_del_init
Unexecuted instantiation: cramfs.c:list_del_init
Unexecuted instantiation: ddf_raid.c:list_del_init
Unexecuted instantiation: drbd.c:list_del_init
Unexecuted instantiation: drbdproxy_datalog.c:list_del_init
Unexecuted instantiation: drbdmanage.c:list_del_init
Unexecuted instantiation: exfat.c:list_del_init
Unexecuted instantiation: exfs.c:list_del_init
Unexecuted instantiation: ext.c:list_del_init
Unexecuted instantiation: f2fs.c:list_del_init
Unexecuted instantiation: gfs.c:list_del_init
Unexecuted instantiation: hfs.c:list_del_init
Unexecuted instantiation: highpoint_raid.c:list_del_init
Unexecuted instantiation: hpfs.c:list_del_init
Unexecuted instantiation: iso9660.c:list_del_init
Unexecuted instantiation: isw_raid.c:list_del_init
Unexecuted instantiation: jfs.c:list_del_init
Unexecuted instantiation: jmicron_raid.c:list_del_init
Unexecuted instantiation: linux_raid.c:list_del_init
Unexecuted instantiation: lsi_raid.c:list_del_init
Unexecuted instantiation: luks.c:list_del_init
Unexecuted instantiation: mpool.c:list_del_init
Unexecuted instantiation: netware.c:list_del_init
Unexecuted instantiation: nilfs.c:list_del_init
Unexecuted instantiation: ntfs.c:list_del_init
Unexecuted instantiation: refs.c:list_del_init
Unexecuted instantiation: nvidia_raid.c:list_del_init
Unexecuted instantiation: ocfs.c:list_del_init
Unexecuted instantiation: promise_raid.c:list_del_init
Unexecuted instantiation: reiserfs.c:list_del_init
Unexecuted instantiation: romfs.c:list_del_init
Unexecuted instantiation: scoutfs.c:list_del_init
Unexecuted instantiation: silicon_raid.c:list_del_init
Unexecuted instantiation: squashfs.c:list_del_init
Unexecuted instantiation: stratis.c:list_del_init
Unexecuted instantiation: cache.c:list_del_init
Unexecuted instantiation: config.c:list_del_init
119
120
/**
121
 * list_empty - tests whether a list is empty
122
 * @head: the list to test.
123
 */
124
_INLINE_ int list_empty(struct list_head *head)
125
373k
{
126
373k
  return head->next == head;
127
373k
}
probe.c:list_empty
Line
Count
Source
125
373k
{
126
373k
  return head->next == head;
127
373k
}
Unexecuted instantiation: tag.c:list_empty
Unexecuted instantiation: verify.c:list_empty
Unexecuted instantiation: partitions.c:list_empty
Unexecuted instantiation: sgi.c:list_empty
Unexecuted instantiation: solaris_x86.c:list_empty
Unexecuted instantiation: sun.c:list_empty
Unexecuted instantiation: ultrix.c:list_empty
Unexecuted instantiation: unixware.c:list_empty
Unexecuted instantiation: superblocks.c:list_empty
Unexecuted instantiation: swap.c:list_empty
Unexecuted instantiation: sysv.c:list_empty
Unexecuted instantiation: ubi.c:list_empty
Unexecuted instantiation: ubifs.c:list_empty
Unexecuted instantiation: udf.c:list_empty
Unexecuted instantiation: ufs.c:list_empty
Unexecuted instantiation: vdo.c:list_empty
Unexecuted instantiation: vfat.c:list_empty
Unexecuted instantiation: via_raid.c:list_empty
Unexecuted instantiation: vmfs.c:list_empty
Unexecuted instantiation: vxfs.c:list_empty
Unexecuted instantiation: xfs.c:list_empty
Unexecuted instantiation: zfs.c:list_empty
Unexecuted instantiation: zonefs.c:list_empty
Unexecuted instantiation: erofs.c:list_empty
Unexecuted instantiation: topology.c:list_empty
Unexecuted instantiation: dm.c:list_empty
Unexecuted instantiation: evms.c:list_empty
Unexecuted instantiation: ioctl.c:list_empty
Unexecuted instantiation: lvm.c:list_empty
Unexecuted instantiation: md.c:list_empty
Unexecuted instantiation: sysfs.c:list_empty
Unexecuted instantiation: init.c:list_empty
Unexecuted instantiation: dev.c:list_empty
Unexecuted instantiation: devname.c:list_empty
Unexecuted instantiation: devno.c:list_empty
Unexecuted instantiation: read.c:list_empty
Unexecuted instantiation: save.c:list_empty
Unexecuted instantiation: aix.c:list_empty
Unexecuted instantiation: atari.c:list_empty
Unexecuted instantiation: bsd.c:list_empty
Unexecuted instantiation: dos.c:list_empty
Unexecuted instantiation: gpt.c:list_empty
Unexecuted instantiation: mac.c:list_empty
Unexecuted instantiation: minix.c:list_empty
Unexecuted instantiation: adaptec_raid.c:list_empty
Unexecuted instantiation: apfs.c:list_empty
Unexecuted instantiation: bcache.c:list_empty
Unexecuted instantiation: befs.c:list_empty
Unexecuted instantiation: bfs.c:list_empty
Unexecuted instantiation: bitlocker.c:list_empty
Unexecuted instantiation: bluestore.c:list_empty
Unexecuted instantiation: btrfs.c:list_empty
Unexecuted instantiation: cs_fvault2.c:list_empty
Unexecuted instantiation: cramfs.c:list_empty
Unexecuted instantiation: ddf_raid.c:list_empty
Unexecuted instantiation: drbd.c:list_empty
Unexecuted instantiation: drbdproxy_datalog.c:list_empty
Unexecuted instantiation: drbdmanage.c:list_empty
Unexecuted instantiation: exfat.c:list_empty
Unexecuted instantiation: exfs.c:list_empty
Unexecuted instantiation: ext.c:list_empty
Unexecuted instantiation: f2fs.c:list_empty
Unexecuted instantiation: gfs.c:list_empty
Unexecuted instantiation: hfs.c:list_empty
Unexecuted instantiation: highpoint_raid.c:list_empty
Unexecuted instantiation: hpfs.c:list_empty
Unexecuted instantiation: iso9660.c:list_empty
Unexecuted instantiation: isw_raid.c:list_empty
Unexecuted instantiation: jfs.c:list_empty
Unexecuted instantiation: jmicron_raid.c:list_empty
Unexecuted instantiation: linux_raid.c:list_empty
Unexecuted instantiation: lsi_raid.c:list_empty
Unexecuted instantiation: luks.c:list_empty
Unexecuted instantiation: mpool.c:list_empty
Unexecuted instantiation: netware.c:list_empty
Unexecuted instantiation: nilfs.c:list_empty
Unexecuted instantiation: ntfs.c:list_empty
Unexecuted instantiation: refs.c:list_empty
Unexecuted instantiation: nvidia_raid.c:list_empty
Unexecuted instantiation: ocfs.c:list_empty
Unexecuted instantiation: promise_raid.c:list_empty
Unexecuted instantiation: reiserfs.c:list_empty
Unexecuted instantiation: romfs.c:list_empty
Unexecuted instantiation: scoutfs.c:list_empty
Unexecuted instantiation: silicon_raid.c:list_empty
Unexecuted instantiation: squashfs.c:list_empty
Unexecuted instantiation: stratis.c:list_empty
Unexecuted instantiation: cache.c:list_empty
Unexecuted instantiation: config.c:list_empty
128
129
/**
130
 * list_entry_is_last - tests whether is entry last in the list
131
 * @entry:  the entry to test.
132
 * @head: the list to test.
133
 */
134
_INLINE_ int list_entry_is_last(struct list_head *entry, struct list_head *head)
135
0
{
136
0
  return head->prev == entry;
137
0
}
Unexecuted instantiation: probe.c:list_entry_is_last
Unexecuted instantiation: tag.c:list_entry_is_last
Unexecuted instantiation: verify.c:list_entry_is_last
Unexecuted instantiation: partitions.c:list_entry_is_last
Unexecuted instantiation: sgi.c:list_entry_is_last
Unexecuted instantiation: solaris_x86.c:list_entry_is_last
Unexecuted instantiation: sun.c:list_entry_is_last
Unexecuted instantiation: ultrix.c:list_entry_is_last
Unexecuted instantiation: unixware.c:list_entry_is_last
Unexecuted instantiation: superblocks.c:list_entry_is_last
Unexecuted instantiation: swap.c:list_entry_is_last
Unexecuted instantiation: sysv.c:list_entry_is_last
Unexecuted instantiation: ubi.c:list_entry_is_last
Unexecuted instantiation: ubifs.c:list_entry_is_last
Unexecuted instantiation: udf.c:list_entry_is_last
Unexecuted instantiation: ufs.c:list_entry_is_last
Unexecuted instantiation: vdo.c:list_entry_is_last
Unexecuted instantiation: vfat.c:list_entry_is_last
Unexecuted instantiation: via_raid.c:list_entry_is_last
Unexecuted instantiation: vmfs.c:list_entry_is_last
Unexecuted instantiation: vxfs.c:list_entry_is_last
Unexecuted instantiation: xfs.c:list_entry_is_last
Unexecuted instantiation: zfs.c:list_entry_is_last
Unexecuted instantiation: zonefs.c:list_entry_is_last
Unexecuted instantiation: erofs.c:list_entry_is_last
Unexecuted instantiation: topology.c:list_entry_is_last
Unexecuted instantiation: dm.c:list_entry_is_last
Unexecuted instantiation: evms.c:list_entry_is_last
Unexecuted instantiation: ioctl.c:list_entry_is_last
Unexecuted instantiation: lvm.c:list_entry_is_last
Unexecuted instantiation: md.c:list_entry_is_last
Unexecuted instantiation: sysfs.c:list_entry_is_last
Unexecuted instantiation: init.c:list_entry_is_last
Unexecuted instantiation: dev.c:list_entry_is_last
Unexecuted instantiation: devname.c:list_entry_is_last
Unexecuted instantiation: devno.c:list_entry_is_last
Unexecuted instantiation: read.c:list_entry_is_last
Unexecuted instantiation: save.c:list_entry_is_last
Unexecuted instantiation: aix.c:list_entry_is_last
Unexecuted instantiation: atari.c:list_entry_is_last
Unexecuted instantiation: bsd.c:list_entry_is_last
Unexecuted instantiation: dos.c:list_entry_is_last
Unexecuted instantiation: gpt.c:list_entry_is_last
Unexecuted instantiation: mac.c:list_entry_is_last
Unexecuted instantiation: minix.c:list_entry_is_last
Unexecuted instantiation: adaptec_raid.c:list_entry_is_last
Unexecuted instantiation: apfs.c:list_entry_is_last
Unexecuted instantiation: bcache.c:list_entry_is_last
Unexecuted instantiation: befs.c:list_entry_is_last
Unexecuted instantiation: bfs.c:list_entry_is_last
Unexecuted instantiation: bitlocker.c:list_entry_is_last
Unexecuted instantiation: bluestore.c:list_entry_is_last
Unexecuted instantiation: btrfs.c:list_entry_is_last
Unexecuted instantiation: cs_fvault2.c:list_entry_is_last
Unexecuted instantiation: cramfs.c:list_entry_is_last
Unexecuted instantiation: ddf_raid.c:list_entry_is_last
Unexecuted instantiation: drbd.c:list_entry_is_last
Unexecuted instantiation: drbdproxy_datalog.c:list_entry_is_last
Unexecuted instantiation: drbdmanage.c:list_entry_is_last
Unexecuted instantiation: exfat.c:list_entry_is_last
Unexecuted instantiation: exfs.c:list_entry_is_last
Unexecuted instantiation: ext.c:list_entry_is_last
Unexecuted instantiation: f2fs.c:list_entry_is_last
Unexecuted instantiation: gfs.c:list_entry_is_last
Unexecuted instantiation: hfs.c:list_entry_is_last
Unexecuted instantiation: highpoint_raid.c:list_entry_is_last
Unexecuted instantiation: hpfs.c:list_entry_is_last
Unexecuted instantiation: iso9660.c:list_entry_is_last
Unexecuted instantiation: isw_raid.c:list_entry_is_last
Unexecuted instantiation: jfs.c:list_entry_is_last
Unexecuted instantiation: jmicron_raid.c:list_entry_is_last
Unexecuted instantiation: linux_raid.c:list_entry_is_last
Unexecuted instantiation: lsi_raid.c:list_entry_is_last
Unexecuted instantiation: luks.c:list_entry_is_last
Unexecuted instantiation: mpool.c:list_entry_is_last
Unexecuted instantiation: netware.c:list_entry_is_last
Unexecuted instantiation: nilfs.c:list_entry_is_last
Unexecuted instantiation: ntfs.c:list_entry_is_last
Unexecuted instantiation: refs.c:list_entry_is_last
Unexecuted instantiation: nvidia_raid.c:list_entry_is_last
Unexecuted instantiation: ocfs.c:list_entry_is_last
Unexecuted instantiation: promise_raid.c:list_entry_is_last
Unexecuted instantiation: reiserfs.c:list_entry_is_last
Unexecuted instantiation: romfs.c:list_entry_is_last
Unexecuted instantiation: scoutfs.c:list_entry_is_last
Unexecuted instantiation: silicon_raid.c:list_entry_is_last
Unexecuted instantiation: squashfs.c:list_entry_is_last
Unexecuted instantiation: stratis.c:list_entry_is_last
Unexecuted instantiation: cache.c:list_entry_is_last
Unexecuted instantiation: config.c:list_entry_is_last
138
139
/**
140
 * list_entry_is_first - tests whether is entry first in the list
141
 * @entry:  the entry to test.
142
 * @head: the list to test.
143
 */
144
_INLINE_ int list_entry_is_first(struct list_head *entry, struct list_head *head)
145
0
{
146
0
  return head->next == entry;
147
0
}
Unexecuted instantiation: probe.c:list_entry_is_first
Unexecuted instantiation: tag.c:list_entry_is_first
Unexecuted instantiation: verify.c:list_entry_is_first
Unexecuted instantiation: partitions.c:list_entry_is_first
Unexecuted instantiation: sgi.c:list_entry_is_first
Unexecuted instantiation: solaris_x86.c:list_entry_is_first
Unexecuted instantiation: sun.c:list_entry_is_first
Unexecuted instantiation: ultrix.c:list_entry_is_first
Unexecuted instantiation: unixware.c:list_entry_is_first
Unexecuted instantiation: superblocks.c:list_entry_is_first
Unexecuted instantiation: swap.c:list_entry_is_first
Unexecuted instantiation: sysv.c:list_entry_is_first
Unexecuted instantiation: ubi.c:list_entry_is_first
Unexecuted instantiation: ubifs.c:list_entry_is_first
Unexecuted instantiation: udf.c:list_entry_is_first
Unexecuted instantiation: ufs.c:list_entry_is_first
Unexecuted instantiation: vdo.c:list_entry_is_first
Unexecuted instantiation: vfat.c:list_entry_is_first
Unexecuted instantiation: via_raid.c:list_entry_is_first
Unexecuted instantiation: vmfs.c:list_entry_is_first
Unexecuted instantiation: vxfs.c:list_entry_is_first
Unexecuted instantiation: xfs.c:list_entry_is_first
Unexecuted instantiation: zfs.c:list_entry_is_first
Unexecuted instantiation: zonefs.c:list_entry_is_first
Unexecuted instantiation: erofs.c:list_entry_is_first
Unexecuted instantiation: topology.c:list_entry_is_first
Unexecuted instantiation: dm.c:list_entry_is_first
Unexecuted instantiation: evms.c:list_entry_is_first
Unexecuted instantiation: ioctl.c:list_entry_is_first
Unexecuted instantiation: lvm.c:list_entry_is_first
Unexecuted instantiation: md.c:list_entry_is_first
Unexecuted instantiation: sysfs.c:list_entry_is_first
Unexecuted instantiation: init.c:list_entry_is_first
Unexecuted instantiation: dev.c:list_entry_is_first
Unexecuted instantiation: devname.c:list_entry_is_first
Unexecuted instantiation: devno.c:list_entry_is_first
Unexecuted instantiation: read.c:list_entry_is_first
Unexecuted instantiation: save.c:list_entry_is_first
Unexecuted instantiation: aix.c:list_entry_is_first
Unexecuted instantiation: atari.c:list_entry_is_first
Unexecuted instantiation: bsd.c:list_entry_is_first
Unexecuted instantiation: dos.c:list_entry_is_first
Unexecuted instantiation: gpt.c:list_entry_is_first
Unexecuted instantiation: mac.c:list_entry_is_first
Unexecuted instantiation: minix.c:list_entry_is_first
Unexecuted instantiation: adaptec_raid.c:list_entry_is_first
Unexecuted instantiation: apfs.c:list_entry_is_first
Unexecuted instantiation: bcache.c:list_entry_is_first
Unexecuted instantiation: befs.c:list_entry_is_first
Unexecuted instantiation: bfs.c:list_entry_is_first
Unexecuted instantiation: bitlocker.c:list_entry_is_first
Unexecuted instantiation: bluestore.c:list_entry_is_first
Unexecuted instantiation: btrfs.c:list_entry_is_first
Unexecuted instantiation: cs_fvault2.c:list_entry_is_first
Unexecuted instantiation: cramfs.c:list_entry_is_first
Unexecuted instantiation: ddf_raid.c:list_entry_is_first
Unexecuted instantiation: drbd.c:list_entry_is_first
Unexecuted instantiation: drbdproxy_datalog.c:list_entry_is_first
Unexecuted instantiation: drbdmanage.c:list_entry_is_first
Unexecuted instantiation: exfat.c:list_entry_is_first
Unexecuted instantiation: exfs.c:list_entry_is_first
Unexecuted instantiation: ext.c:list_entry_is_first
Unexecuted instantiation: f2fs.c:list_entry_is_first
Unexecuted instantiation: gfs.c:list_entry_is_first
Unexecuted instantiation: hfs.c:list_entry_is_first
Unexecuted instantiation: highpoint_raid.c:list_entry_is_first
Unexecuted instantiation: hpfs.c:list_entry_is_first
Unexecuted instantiation: iso9660.c:list_entry_is_first
Unexecuted instantiation: isw_raid.c:list_entry_is_first
Unexecuted instantiation: jfs.c:list_entry_is_first
Unexecuted instantiation: jmicron_raid.c:list_entry_is_first
Unexecuted instantiation: linux_raid.c:list_entry_is_first
Unexecuted instantiation: lsi_raid.c:list_entry_is_first
Unexecuted instantiation: luks.c:list_entry_is_first
Unexecuted instantiation: mpool.c:list_entry_is_first
Unexecuted instantiation: netware.c:list_entry_is_first
Unexecuted instantiation: nilfs.c:list_entry_is_first
Unexecuted instantiation: ntfs.c:list_entry_is_first
Unexecuted instantiation: refs.c:list_entry_is_first
Unexecuted instantiation: nvidia_raid.c:list_entry_is_first
Unexecuted instantiation: ocfs.c:list_entry_is_first
Unexecuted instantiation: promise_raid.c:list_entry_is_first
Unexecuted instantiation: reiserfs.c:list_entry_is_first
Unexecuted instantiation: romfs.c:list_entry_is_first
Unexecuted instantiation: scoutfs.c:list_entry_is_first
Unexecuted instantiation: silicon_raid.c:list_entry_is_first
Unexecuted instantiation: squashfs.c:list_entry_is_first
Unexecuted instantiation: stratis.c:list_entry_is_first
Unexecuted instantiation: cache.c:list_entry_is_first
Unexecuted instantiation: config.c:list_entry_is_first
148
149
/**
150
 * list_splice - join two lists
151
 * @list: the new list to add.
152
 * @head: the place to add it in the first list.
153
 */
154
_INLINE_ void list_splice(struct list_head *list, struct list_head *head)
155
1.13k
{
156
1.13k
  struct list_head *first = list->next;
157
158
1.13k
  if (first != list) {
159
1.13k
    struct list_head *last = list->prev;
160
1.13k
    struct list_head *at = head->next;
161
162
1.13k
    first->prev = head;
163
1.13k
    head->next = first;
164
165
1.13k
    last->next = at;
166
1.13k
    at->prev = last;
167
1.13k
  }
168
1.13k
}
probe.c:list_splice
Line
Count
Source
155
1.13k
{
156
1.13k
  struct list_head *first = list->next;
157
158
1.13k
  if (first != list) {
159
1.13k
    struct list_head *last = list->prev;
160
1.13k
    struct list_head *at = head->next;
161
162
1.13k
    first->prev = head;
163
1.13k
    head->next = first;
164
165
1.13k
    last->next = at;
166
1.13k
    at->prev = last;
167
1.13k
  }
168
1.13k
}
Unexecuted instantiation: tag.c:list_splice
Unexecuted instantiation: verify.c:list_splice
Unexecuted instantiation: partitions.c:list_splice
Unexecuted instantiation: sgi.c:list_splice
Unexecuted instantiation: solaris_x86.c:list_splice
Unexecuted instantiation: sun.c:list_splice
Unexecuted instantiation: ultrix.c:list_splice
Unexecuted instantiation: unixware.c:list_splice
Unexecuted instantiation: superblocks.c:list_splice
Unexecuted instantiation: swap.c:list_splice
Unexecuted instantiation: sysv.c:list_splice
Unexecuted instantiation: ubi.c:list_splice
Unexecuted instantiation: ubifs.c:list_splice
Unexecuted instantiation: udf.c:list_splice
Unexecuted instantiation: ufs.c:list_splice
Unexecuted instantiation: vdo.c:list_splice
Unexecuted instantiation: vfat.c:list_splice
Unexecuted instantiation: via_raid.c:list_splice
Unexecuted instantiation: vmfs.c:list_splice
Unexecuted instantiation: vxfs.c:list_splice
Unexecuted instantiation: xfs.c:list_splice
Unexecuted instantiation: zfs.c:list_splice
Unexecuted instantiation: zonefs.c:list_splice
Unexecuted instantiation: erofs.c:list_splice
Unexecuted instantiation: topology.c:list_splice
Unexecuted instantiation: dm.c:list_splice
Unexecuted instantiation: evms.c:list_splice
Unexecuted instantiation: ioctl.c:list_splice
Unexecuted instantiation: lvm.c:list_splice
Unexecuted instantiation: md.c:list_splice
Unexecuted instantiation: sysfs.c:list_splice
Unexecuted instantiation: init.c:list_splice
Unexecuted instantiation: dev.c:list_splice
Unexecuted instantiation: devname.c:list_splice
Unexecuted instantiation: devno.c:list_splice
Unexecuted instantiation: read.c:list_splice
Unexecuted instantiation: save.c:list_splice
Unexecuted instantiation: aix.c:list_splice
Unexecuted instantiation: atari.c:list_splice
Unexecuted instantiation: bsd.c:list_splice
Unexecuted instantiation: dos.c:list_splice
Unexecuted instantiation: gpt.c:list_splice
Unexecuted instantiation: mac.c:list_splice
Unexecuted instantiation: minix.c:list_splice
Unexecuted instantiation: adaptec_raid.c:list_splice
Unexecuted instantiation: apfs.c:list_splice
Unexecuted instantiation: bcache.c:list_splice
Unexecuted instantiation: befs.c:list_splice
Unexecuted instantiation: bfs.c:list_splice
Unexecuted instantiation: bitlocker.c:list_splice
Unexecuted instantiation: bluestore.c:list_splice
Unexecuted instantiation: btrfs.c:list_splice
Unexecuted instantiation: cs_fvault2.c:list_splice
Unexecuted instantiation: cramfs.c:list_splice
Unexecuted instantiation: ddf_raid.c:list_splice
Unexecuted instantiation: drbd.c:list_splice
Unexecuted instantiation: drbdproxy_datalog.c:list_splice
Unexecuted instantiation: drbdmanage.c:list_splice
Unexecuted instantiation: exfat.c:list_splice
Unexecuted instantiation: exfs.c:list_splice
Unexecuted instantiation: ext.c:list_splice
Unexecuted instantiation: f2fs.c:list_splice
Unexecuted instantiation: gfs.c:list_splice
Unexecuted instantiation: hfs.c:list_splice
Unexecuted instantiation: highpoint_raid.c:list_splice
Unexecuted instantiation: hpfs.c:list_splice
Unexecuted instantiation: iso9660.c:list_splice
Unexecuted instantiation: isw_raid.c:list_splice
Unexecuted instantiation: jfs.c:list_splice
Unexecuted instantiation: jmicron_raid.c:list_splice
Unexecuted instantiation: linux_raid.c:list_splice
Unexecuted instantiation: lsi_raid.c:list_splice
Unexecuted instantiation: luks.c:list_splice
Unexecuted instantiation: mpool.c:list_splice
Unexecuted instantiation: netware.c:list_splice
Unexecuted instantiation: nilfs.c:list_splice
Unexecuted instantiation: ntfs.c:list_splice
Unexecuted instantiation: refs.c:list_splice
Unexecuted instantiation: nvidia_raid.c:list_splice
Unexecuted instantiation: ocfs.c:list_splice
Unexecuted instantiation: promise_raid.c:list_splice
Unexecuted instantiation: reiserfs.c:list_splice
Unexecuted instantiation: romfs.c:list_splice
Unexecuted instantiation: scoutfs.c:list_splice
Unexecuted instantiation: silicon_raid.c:list_splice
Unexecuted instantiation: squashfs.c:list_splice
Unexecuted instantiation: stratis.c:list_splice
Unexecuted instantiation: cache.c:list_splice
Unexecuted instantiation: config.c:list_splice
169
170
/**
171
 * list_entry - get the struct for this entry
172
 * @ptr:  the &struct list_head pointer.
173
 * @type: the type of the struct this is embedded in.
174
 * @member: the name of the list_struct within the struct.
175
 */
176
26.8M
#define list_entry(ptr, type, member) container_of(ptr, type, member)
177
178
#define list_first_entry(head, type, member) \
179
  ((head) && (head)->next != (head) ? list_entry((head)->next, type, member) : NULL)
180
181
#define list_last_entry(head, type, member) \
182
  ((head) && (head)->prev != (head) ? list_entry((head)->prev, type, member) : NULL)
183
184
/**
185
 * list_for_each - iterate over elements in a list
186
 * @pos:  the &struct list_head to use as a loop counter.
187
 * @head: the head for your list.
188
 */
189
#define list_for_each(pos, head) \
190
23.1M
  for (pos = (head)->next; pos != (head); pos = pos->next)
191
192
/**
193
 * list_for_each_backwardly - iterate over elements in a list in reverse
194
 * @pos:  the &struct list_head to use as a loop counter.
195
 * @head: the head for your list.
196
 */
197
#define list_for_each_backwardly(pos, head) \
198
  for (pos = (head)->prev; pos != (head); pos = pos->prev)
199
200
/**
201
 * list_for_each_safe - iterate over elements in a list, but don't dereference
202
 *                      pos after the body is done (in case it is freed)
203
 * @pos:  the &struct list_head to use as a loop counter.
204
 * @pnext:  the &struct list_head to use as a pointer to the next item.
205
 * @head: the head for your list (not included in iteration).
206
 */
207
#define list_for_each_safe(pos, pnext, head) \
208
4.12M
  for (pos = (head)->next, pnext = pos->next; pos != (head); \
209
3.75M
       pos = pnext, pnext = pos->next)
210
211
/**
212
 * list_free - remove all entries from list and call freefunc()
213
 *             for each entry
214
 * @head:       the head for your list
215
 * @type:       the type of the struct this is embedded in.
216
 * @member:     the name of the list_struct within the struct.
217
 * @freefunc:   the list entry deallocator
218
 */
219
#define list_free(head, type, member, freefunc)       \
220
  do {                \
221
    struct list_head *__p, *__pnext;      \
222
                  \
223
    list_for_each_safe (__p, __pnext, (head)) {   \
224
      type *__elt = list_entry(__p, type, member);  \
225
      list_del(__p);          \
226
      freefunc(__elt);      \
227
    }             \
228
  } while (0)
229
230
_INLINE_ size_t list_count_entries(struct list_head *head)
231
0
{
232
0
  struct list_head *pos;
233
0
  size_t ct = 0;
234
0
235
0
  list_for_each(pos, head)
236
0
    ct++;
237
0
238
0
  return ct;
239
0
}
Unexecuted instantiation: probe.c:list_count_entries
Unexecuted instantiation: tag.c:list_count_entries
Unexecuted instantiation: verify.c:list_count_entries
Unexecuted instantiation: partitions.c:list_count_entries
Unexecuted instantiation: sgi.c:list_count_entries
Unexecuted instantiation: solaris_x86.c:list_count_entries
Unexecuted instantiation: sun.c:list_count_entries
Unexecuted instantiation: ultrix.c:list_count_entries
Unexecuted instantiation: unixware.c:list_count_entries
Unexecuted instantiation: superblocks.c:list_count_entries
Unexecuted instantiation: swap.c:list_count_entries
Unexecuted instantiation: sysv.c:list_count_entries
Unexecuted instantiation: ubi.c:list_count_entries
Unexecuted instantiation: ubifs.c:list_count_entries
Unexecuted instantiation: udf.c:list_count_entries
Unexecuted instantiation: ufs.c:list_count_entries
Unexecuted instantiation: vdo.c:list_count_entries
Unexecuted instantiation: vfat.c:list_count_entries
Unexecuted instantiation: via_raid.c:list_count_entries
Unexecuted instantiation: vmfs.c:list_count_entries
Unexecuted instantiation: vxfs.c:list_count_entries
Unexecuted instantiation: xfs.c:list_count_entries
Unexecuted instantiation: zfs.c:list_count_entries
Unexecuted instantiation: zonefs.c:list_count_entries
Unexecuted instantiation: erofs.c:list_count_entries
Unexecuted instantiation: topology.c:list_count_entries
Unexecuted instantiation: dm.c:list_count_entries
Unexecuted instantiation: evms.c:list_count_entries
Unexecuted instantiation: ioctl.c:list_count_entries
Unexecuted instantiation: lvm.c:list_count_entries
Unexecuted instantiation: md.c:list_count_entries
Unexecuted instantiation: sysfs.c:list_count_entries
Unexecuted instantiation: init.c:list_count_entries
Unexecuted instantiation: dev.c:list_count_entries
Unexecuted instantiation: devname.c:list_count_entries
Unexecuted instantiation: devno.c:list_count_entries
Unexecuted instantiation: read.c:list_count_entries
Unexecuted instantiation: save.c:list_count_entries
Unexecuted instantiation: aix.c:list_count_entries
Unexecuted instantiation: atari.c:list_count_entries
Unexecuted instantiation: bsd.c:list_count_entries
Unexecuted instantiation: dos.c:list_count_entries
Unexecuted instantiation: gpt.c:list_count_entries
Unexecuted instantiation: mac.c:list_count_entries
Unexecuted instantiation: minix.c:list_count_entries
Unexecuted instantiation: adaptec_raid.c:list_count_entries
Unexecuted instantiation: apfs.c:list_count_entries
Unexecuted instantiation: bcache.c:list_count_entries
Unexecuted instantiation: befs.c:list_count_entries
Unexecuted instantiation: bfs.c:list_count_entries
Unexecuted instantiation: bitlocker.c:list_count_entries
Unexecuted instantiation: bluestore.c:list_count_entries
Unexecuted instantiation: btrfs.c:list_count_entries
Unexecuted instantiation: cs_fvault2.c:list_count_entries
Unexecuted instantiation: cramfs.c:list_count_entries
Unexecuted instantiation: ddf_raid.c:list_count_entries
Unexecuted instantiation: drbd.c:list_count_entries
Unexecuted instantiation: drbdproxy_datalog.c:list_count_entries
Unexecuted instantiation: drbdmanage.c:list_count_entries
Unexecuted instantiation: exfat.c:list_count_entries
Unexecuted instantiation: exfs.c:list_count_entries
Unexecuted instantiation: ext.c:list_count_entries
Unexecuted instantiation: f2fs.c:list_count_entries
Unexecuted instantiation: gfs.c:list_count_entries
Unexecuted instantiation: hfs.c:list_count_entries
Unexecuted instantiation: highpoint_raid.c:list_count_entries
Unexecuted instantiation: hpfs.c:list_count_entries
Unexecuted instantiation: iso9660.c:list_count_entries
Unexecuted instantiation: isw_raid.c:list_count_entries
Unexecuted instantiation: jfs.c:list_count_entries
Unexecuted instantiation: jmicron_raid.c:list_count_entries
Unexecuted instantiation: linux_raid.c:list_count_entries
Unexecuted instantiation: lsi_raid.c:list_count_entries
Unexecuted instantiation: luks.c:list_count_entries
Unexecuted instantiation: mpool.c:list_count_entries
Unexecuted instantiation: netware.c:list_count_entries
Unexecuted instantiation: nilfs.c:list_count_entries
Unexecuted instantiation: ntfs.c:list_count_entries
Unexecuted instantiation: refs.c:list_count_entries
Unexecuted instantiation: nvidia_raid.c:list_count_entries
Unexecuted instantiation: ocfs.c:list_count_entries
Unexecuted instantiation: promise_raid.c:list_count_entries
Unexecuted instantiation: reiserfs.c:list_count_entries
Unexecuted instantiation: romfs.c:list_count_entries
Unexecuted instantiation: scoutfs.c:list_count_entries
Unexecuted instantiation: silicon_raid.c:list_count_entries
Unexecuted instantiation: squashfs.c:list_count_entries
Unexecuted instantiation: stratis.c:list_count_entries
Unexecuted instantiation: cache.c:list_count_entries
Unexecuted instantiation: config.c:list_count_entries
240
241
#define MAX_LIST_LENGTH_BITS 20
242
243
/*
244
 * Returns a list organized in an intermediate format suited
245
 * to chaining of merge() calls: null-terminated, no reserved or
246
 * sentinel head node, "prev" links not maintained.
247
 */
248
_INLINE_ struct list_head *merge(int (*cmp)(struct list_head *a,
249
            struct list_head *b,
250
            void *data),
251
             void *data,
252
             struct list_head *a, struct list_head *b)
253
0
{
254
0
  struct list_head head, *tail = &head;
255
0
256
0
  while (a && b) {
257
0
    /* if equal, take 'a' -- important for sort stability */
258
0
    if ((*cmp)(a, b, data) <= 0) {
259
0
      tail->next = a;
260
0
      a = a->next;
261
0
    } else {
262
0
      tail->next = b;
263
0
      b = b->next;
264
0
    }
265
0
    tail = tail->next;
266
0
  }
267
0
  tail->next = a ? a : b;
268
0
  return head.next;
269
0
}
Unexecuted instantiation: probe.c:merge
Unexecuted instantiation: tag.c:merge
Unexecuted instantiation: verify.c:merge
Unexecuted instantiation: partitions.c:merge
Unexecuted instantiation: sgi.c:merge
Unexecuted instantiation: solaris_x86.c:merge
Unexecuted instantiation: sun.c:merge
Unexecuted instantiation: ultrix.c:merge
Unexecuted instantiation: unixware.c:merge
Unexecuted instantiation: superblocks.c:merge
Unexecuted instantiation: swap.c:merge
Unexecuted instantiation: sysv.c:merge
Unexecuted instantiation: ubi.c:merge
Unexecuted instantiation: ubifs.c:merge
Unexecuted instantiation: udf.c:merge
Unexecuted instantiation: ufs.c:merge
Unexecuted instantiation: vdo.c:merge
Unexecuted instantiation: vfat.c:merge
Unexecuted instantiation: via_raid.c:merge
Unexecuted instantiation: vmfs.c:merge
Unexecuted instantiation: vxfs.c:merge
Unexecuted instantiation: xfs.c:merge
Unexecuted instantiation: zfs.c:merge
Unexecuted instantiation: zonefs.c:merge
Unexecuted instantiation: erofs.c:merge
Unexecuted instantiation: topology.c:merge
Unexecuted instantiation: dm.c:merge
Unexecuted instantiation: evms.c:merge
Unexecuted instantiation: ioctl.c:merge
Unexecuted instantiation: lvm.c:merge
Unexecuted instantiation: md.c:merge
Unexecuted instantiation: sysfs.c:merge
Unexecuted instantiation: init.c:merge
Unexecuted instantiation: dev.c:merge
Unexecuted instantiation: devname.c:merge
Unexecuted instantiation: devno.c:merge
Unexecuted instantiation: read.c:merge
Unexecuted instantiation: save.c:merge
Unexecuted instantiation: aix.c:merge
Unexecuted instantiation: atari.c:merge
Unexecuted instantiation: bsd.c:merge
Unexecuted instantiation: dos.c:merge
Unexecuted instantiation: gpt.c:merge
Unexecuted instantiation: mac.c:merge
Unexecuted instantiation: minix.c:merge
Unexecuted instantiation: adaptec_raid.c:merge
Unexecuted instantiation: apfs.c:merge
Unexecuted instantiation: bcache.c:merge
Unexecuted instantiation: befs.c:merge
Unexecuted instantiation: bfs.c:merge
Unexecuted instantiation: bitlocker.c:merge
Unexecuted instantiation: bluestore.c:merge
Unexecuted instantiation: btrfs.c:merge
Unexecuted instantiation: cs_fvault2.c:merge
Unexecuted instantiation: cramfs.c:merge
Unexecuted instantiation: ddf_raid.c:merge
Unexecuted instantiation: drbd.c:merge
Unexecuted instantiation: drbdproxy_datalog.c:merge
Unexecuted instantiation: drbdmanage.c:merge
Unexecuted instantiation: exfat.c:merge
Unexecuted instantiation: exfs.c:merge
Unexecuted instantiation: ext.c:merge
Unexecuted instantiation: f2fs.c:merge
Unexecuted instantiation: gfs.c:merge
Unexecuted instantiation: hfs.c:merge
Unexecuted instantiation: highpoint_raid.c:merge
Unexecuted instantiation: hpfs.c:merge
Unexecuted instantiation: iso9660.c:merge
Unexecuted instantiation: isw_raid.c:merge
Unexecuted instantiation: jfs.c:merge
Unexecuted instantiation: jmicron_raid.c:merge
Unexecuted instantiation: linux_raid.c:merge
Unexecuted instantiation: lsi_raid.c:merge
Unexecuted instantiation: luks.c:merge
Unexecuted instantiation: mpool.c:merge
Unexecuted instantiation: netware.c:merge
Unexecuted instantiation: nilfs.c:merge
Unexecuted instantiation: ntfs.c:merge
Unexecuted instantiation: refs.c:merge
Unexecuted instantiation: nvidia_raid.c:merge
Unexecuted instantiation: ocfs.c:merge
Unexecuted instantiation: promise_raid.c:merge
Unexecuted instantiation: reiserfs.c:merge
Unexecuted instantiation: romfs.c:merge
Unexecuted instantiation: scoutfs.c:merge
Unexecuted instantiation: silicon_raid.c:merge
Unexecuted instantiation: squashfs.c:merge
Unexecuted instantiation: stratis.c:merge
Unexecuted instantiation: cache.c:merge
Unexecuted instantiation: config.c:merge
270
271
/*
272
 * Combine final list merge with restoration of standard doubly-linked
273
 * list structure.  This approach duplicates code from merge(), but
274
 * runs faster than the tidier alternatives of either a separate final
275
 * prev-link restoration pass, or maintaining the prev links
276
 * throughout.
277
 */
278
_INLINE_ void merge_and_restore_back_links(int (*cmp)(struct list_head *a,
279
                struct list_head *b,
280
                void *data),
281
           void *data,
282
           struct list_head *head,
283
           struct list_head *a, struct list_head *b)
284
0
{
285
0
  struct list_head *tail = head;
286
0
287
0
  while (a && b) {
288
0
    /* if equal, take 'a' -- important for sort stability */
289
0
    if ((*cmp)(a, b, data) <= 0) {
290
0
      tail->next = a;
291
0
      a->prev = tail;
292
0
      a = a->next;
293
0
    } else {
294
0
      tail->next = b;
295
0
      b->prev = tail;
296
0
      b = b->next;
297
0
    }
298
0
    tail = tail->next;
299
0
  }
300
0
  tail->next = a ? a : b;
301
0
302
0
  do {
303
0
    /*
304
0
     * In worst cases this loop may run many iterations.
305
0
     * Continue callbacks to the client even though no
306
0
     * element comparison is needed, so the client's cmp()
307
0
     * routine can invoke cond_resched() periodically.
308
0
     */
309
0
    (*cmp)(tail->next, tail->next, data);
310
0
311
0
    tail->next->prev = tail;
312
0
    tail = tail->next;
313
0
  } while (tail->next);
314
0
315
0
  tail->next = head;
316
0
  head->prev = tail;
317
0
}
Unexecuted instantiation: probe.c:merge_and_restore_back_links
Unexecuted instantiation: tag.c:merge_and_restore_back_links
Unexecuted instantiation: verify.c:merge_and_restore_back_links
Unexecuted instantiation: partitions.c:merge_and_restore_back_links
Unexecuted instantiation: sgi.c:merge_and_restore_back_links
Unexecuted instantiation: solaris_x86.c:merge_and_restore_back_links
Unexecuted instantiation: sun.c:merge_and_restore_back_links
Unexecuted instantiation: ultrix.c:merge_and_restore_back_links
Unexecuted instantiation: unixware.c:merge_and_restore_back_links
Unexecuted instantiation: superblocks.c:merge_and_restore_back_links
Unexecuted instantiation: swap.c:merge_and_restore_back_links
Unexecuted instantiation: sysv.c:merge_and_restore_back_links
Unexecuted instantiation: ubi.c:merge_and_restore_back_links
Unexecuted instantiation: ubifs.c:merge_and_restore_back_links
Unexecuted instantiation: udf.c:merge_and_restore_back_links
Unexecuted instantiation: ufs.c:merge_and_restore_back_links
Unexecuted instantiation: vdo.c:merge_and_restore_back_links
Unexecuted instantiation: vfat.c:merge_and_restore_back_links
Unexecuted instantiation: via_raid.c:merge_and_restore_back_links
Unexecuted instantiation: vmfs.c:merge_and_restore_back_links
Unexecuted instantiation: vxfs.c:merge_and_restore_back_links
Unexecuted instantiation: xfs.c:merge_and_restore_back_links
Unexecuted instantiation: zfs.c:merge_and_restore_back_links
Unexecuted instantiation: zonefs.c:merge_and_restore_back_links
Unexecuted instantiation: erofs.c:merge_and_restore_back_links
Unexecuted instantiation: topology.c:merge_and_restore_back_links
Unexecuted instantiation: dm.c:merge_and_restore_back_links
Unexecuted instantiation: evms.c:merge_and_restore_back_links
Unexecuted instantiation: ioctl.c:merge_and_restore_back_links
Unexecuted instantiation: lvm.c:merge_and_restore_back_links
Unexecuted instantiation: md.c:merge_and_restore_back_links
Unexecuted instantiation: sysfs.c:merge_and_restore_back_links
Unexecuted instantiation: init.c:merge_and_restore_back_links
Unexecuted instantiation: dev.c:merge_and_restore_back_links
Unexecuted instantiation: devname.c:merge_and_restore_back_links
Unexecuted instantiation: devno.c:merge_and_restore_back_links
Unexecuted instantiation: read.c:merge_and_restore_back_links
Unexecuted instantiation: save.c:merge_and_restore_back_links
Unexecuted instantiation: aix.c:merge_and_restore_back_links
Unexecuted instantiation: atari.c:merge_and_restore_back_links
Unexecuted instantiation: bsd.c:merge_and_restore_back_links
Unexecuted instantiation: dos.c:merge_and_restore_back_links
Unexecuted instantiation: gpt.c:merge_and_restore_back_links
Unexecuted instantiation: mac.c:merge_and_restore_back_links
Unexecuted instantiation: minix.c:merge_and_restore_back_links
Unexecuted instantiation: adaptec_raid.c:merge_and_restore_back_links
Unexecuted instantiation: apfs.c:merge_and_restore_back_links
Unexecuted instantiation: bcache.c:merge_and_restore_back_links
Unexecuted instantiation: befs.c:merge_and_restore_back_links
Unexecuted instantiation: bfs.c:merge_and_restore_back_links
Unexecuted instantiation: bitlocker.c:merge_and_restore_back_links
Unexecuted instantiation: bluestore.c:merge_and_restore_back_links
Unexecuted instantiation: btrfs.c:merge_and_restore_back_links
Unexecuted instantiation: cs_fvault2.c:merge_and_restore_back_links
Unexecuted instantiation: cramfs.c:merge_and_restore_back_links
Unexecuted instantiation: ddf_raid.c:merge_and_restore_back_links
Unexecuted instantiation: drbd.c:merge_and_restore_back_links
Unexecuted instantiation: drbdproxy_datalog.c:merge_and_restore_back_links
Unexecuted instantiation: drbdmanage.c:merge_and_restore_back_links
Unexecuted instantiation: exfat.c:merge_and_restore_back_links
Unexecuted instantiation: exfs.c:merge_and_restore_back_links
Unexecuted instantiation: ext.c:merge_and_restore_back_links
Unexecuted instantiation: f2fs.c:merge_and_restore_back_links
Unexecuted instantiation: gfs.c:merge_and_restore_back_links
Unexecuted instantiation: hfs.c:merge_and_restore_back_links
Unexecuted instantiation: highpoint_raid.c:merge_and_restore_back_links
Unexecuted instantiation: hpfs.c:merge_and_restore_back_links
Unexecuted instantiation: iso9660.c:merge_and_restore_back_links
Unexecuted instantiation: isw_raid.c:merge_and_restore_back_links
Unexecuted instantiation: jfs.c:merge_and_restore_back_links
Unexecuted instantiation: jmicron_raid.c:merge_and_restore_back_links
Unexecuted instantiation: linux_raid.c:merge_and_restore_back_links
Unexecuted instantiation: lsi_raid.c:merge_and_restore_back_links
Unexecuted instantiation: luks.c:merge_and_restore_back_links
Unexecuted instantiation: mpool.c:merge_and_restore_back_links
Unexecuted instantiation: netware.c:merge_and_restore_back_links
Unexecuted instantiation: nilfs.c:merge_and_restore_back_links
Unexecuted instantiation: ntfs.c:merge_and_restore_back_links
Unexecuted instantiation: refs.c:merge_and_restore_back_links
Unexecuted instantiation: nvidia_raid.c:merge_and_restore_back_links
Unexecuted instantiation: ocfs.c:merge_and_restore_back_links
Unexecuted instantiation: promise_raid.c:merge_and_restore_back_links
Unexecuted instantiation: reiserfs.c:merge_and_restore_back_links
Unexecuted instantiation: romfs.c:merge_and_restore_back_links
Unexecuted instantiation: scoutfs.c:merge_and_restore_back_links
Unexecuted instantiation: silicon_raid.c:merge_and_restore_back_links
Unexecuted instantiation: squashfs.c:merge_and_restore_back_links
Unexecuted instantiation: stratis.c:merge_and_restore_back_links
Unexecuted instantiation: cache.c:merge_and_restore_back_links
Unexecuted instantiation: config.c:merge_and_restore_back_links
318
319
320
/**
321
 * list_sort - sort a list
322
 * @head: the list to sort
323
 * @cmp: the elements comparison function
324
 *
325
 * This function implements "merge sort", which has O(nlog(n))
326
 * complexity.
327
 *
328
 * The comparison function @cmp must return a negative value if @a
329
 * should sort before @b, and a positive value if @a should sort after
330
 * @b. If @a and @b are equivalent, and their original relative
331
 * ordering is to be preserved, @cmp must return 0.
332
 */
333
_INLINE_ void list_sort(struct list_head *head,
334
      int (*cmp)(struct list_head *a,
335
           struct list_head *b,
336
           void *data),
337
      void *data)
338
0
{
339
0
  struct list_head *part[MAX_LIST_LENGTH_BITS+1]; /* sorted partial lists
340
0
                 -- last slot is a sentinel */
341
0
  size_t lev;  /* index into part[] */
342
0
  size_t max_lev = 0;
343
0
  struct list_head *list;
344
0
345
0
  if (list_empty(head))
346
0
    return;
347
0
348
0
  memset(part, 0, sizeof(part));
349
0
350
0
  head->prev->next = NULL;
351
0
  list = head->next;
352
0
353
0
  while (list) {
354
0
    struct list_head *cur = list;
355
0
    list = list->next;
356
0
    cur->next = NULL;
357
0
358
0
    for (lev = 0; part[lev]; lev++) {
359
0
      cur = merge(cmp, data, part[lev], cur);
360
0
      part[lev] = NULL;
361
0
    }
362
0
    if (lev > max_lev) {
363
0
      /* list passed to list_sort() too long for efficiency */
364
0
      if (lev >= ARRAY_SIZE(part) - 1)
365
0
        lev--;
366
0
      max_lev = lev;
367
0
    }
368
0
    part[lev] = cur;
369
0
  }
370
0
371
0
  for (lev = 0; lev < max_lev; lev++)
372
0
    if (part[lev])
373
0
      list = merge(cmp, data, part[lev], list);
374
0
375
0
  merge_and_restore_back_links(cmp, data, head, part[max_lev], list);
376
0
}
Unexecuted instantiation: probe.c:list_sort
Unexecuted instantiation: tag.c:list_sort
Unexecuted instantiation: verify.c:list_sort
Unexecuted instantiation: partitions.c:list_sort
Unexecuted instantiation: sgi.c:list_sort
Unexecuted instantiation: solaris_x86.c:list_sort
Unexecuted instantiation: sun.c:list_sort
Unexecuted instantiation: ultrix.c:list_sort
Unexecuted instantiation: unixware.c:list_sort
Unexecuted instantiation: superblocks.c:list_sort
Unexecuted instantiation: swap.c:list_sort
Unexecuted instantiation: sysv.c:list_sort
Unexecuted instantiation: ubi.c:list_sort
Unexecuted instantiation: ubifs.c:list_sort
Unexecuted instantiation: udf.c:list_sort
Unexecuted instantiation: ufs.c:list_sort
Unexecuted instantiation: vdo.c:list_sort
Unexecuted instantiation: vfat.c:list_sort
Unexecuted instantiation: via_raid.c:list_sort
Unexecuted instantiation: vmfs.c:list_sort
Unexecuted instantiation: vxfs.c:list_sort
Unexecuted instantiation: xfs.c:list_sort
Unexecuted instantiation: zfs.c:list_sort
Unexecuted instantiation: zonefs.c:list_sort
Unexecuted instantiation: erofs.c:list_sort
Unexecuted instantiation: topology.c:list_sort
Unexecuted instantiation: dm.c:list_sort
Unexecuted instantiation: evms.c:list_sort
Unexecuted instantiation: ioctl.c:list_sort
Unexecuted instantiation: lvm.c:list_sort
Unexecuted instantiation: md.c:list_sort
Unexecuted instantiation: sysfs.c:list_sort
Unexecuted instantiation: init.c:list_sort
Unexecuted instantiation: dev.c:list_sort
Unexecuted instantiation: devname.c:list_sort
Unexecuted instantiation: devno.c:list_sort
Unexecuted instantiation: read.c:list_sort
Unexecuted instantiation: save.c:list_sort
Unexecuted instantiation: aix.c:list_sort
Unexecuted instantiation: atari.c:list_sort
Unexecuted instantiation: bsd.c:list_sort
Unexecuted instantiation: dos.c:list_sort
Unexecuted instantiation: gpt.c:list_sort
Unexecuted instantiation: mac.c:list_sort
Unexecuted instantiation: minix.c:list_sort
Unexecuted instantiation: adaptec_raid.c:list_sort
Unexecuted instantiation: apfs.c:list_sort
Unexecuted instantiation: bcache.c:list_sort
Unexecuted instantiation: befs.c:list_sort
Unexecuted instantiation: bfs.c:list_sort
Unexecuted instantiation: bitlocker.c:list_sort
Unexecuted instantiation: bluestore.c:list_sort
Unexecuted instantiation: btrfs.c:list_sort
Unexecuted instantiation: cs_fvault2.c:list_sort
Unexecuted instantiation: cramfs.c:list_sort
Unexecuted instantiation: ddf_raid.c:list_sort
Unexecuted instantiation: drbd.c:list_sort
Unexecuted instantiation: drbdproxy_datalog.c:list_sort
Unexecuted instantiation: drbdmanage.c:list_sort
Unexecuted instantiation: exfat.c:list_sort
Unexecuted instantiation: exfs.c:list_sort
Unexecuted instantiation: ext.c:list_sort
Unexecuted instantiation: f2fs.c:list_sort
Unexecuted instantiation: gfs.c:list_sort
Unexecuted instantiation: hfs.c:list_sort
Unexecuted instantiation: highpoint_raid.c:list_sort
Unexecuted instantiation: hpfs.c:list_sort
Unexecuted instantiation: iso9660.c:list_sort
Unexecuted instantiation: isw_raid.c:list_sort
Unexecuted instantiation: jfs.c:list_sort
Unexecuted instantiation: jmicron_raid.c:list_sort
Unexecuted instantiation: linux_raid.c:list_sort
Unexecuted instantiation: lsi_raid.c:list_sort
Unexecuted instantiation: luks.c:list_sort
Unexecuted instantiation: mpool.c:list_sort
Unexecuted instantiation: netware.c:list_sort
Unexecuted instantiation: nilfs.c:list_sort
Unexecuted instantiation: ntfs.c:list_sort
Unexecuted instantiation: refs.c:list_sort
Unexecuted instantiation: nvidia_raid.c:list_sort
Unexecuted instantiation: ocfs.c:list_sort
Unexecuted instantiation: promise_raid.c:list_sort
Unexecuted instantiation: reiserfs.c:list_sort
Unexecuted instantiation: romfs.c:list_sort
Unexecuted instantiation: scoutfs.c:list_sort
Unexecuted instantiation: silicon_raid.c:list_sort
Unexecuted instantiation: squashfs.c:list_sort
Unexecuted instantiation: stratis.c:list_sort
Unexecuted instantiation: cache.c:list_sort
Unexecuted instantiation: config.c:list_sort
377
378
#undef _INLINE_
379
380
#endif /* UTIL_LINUX_LIST_H */