/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  | 291k  | #define INIT_LIST_HEAD(ptr) do { \ | 
39  | 291k  |   (ptr)->next = (ptr); (ptr)->prev = (ptr); \  | 
40  | 291k  | } 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  | 330k  | { | 
52  | 330k  |   next->prev = add;  | 
53  | 330k  |   add->next = next;  | 
54  | 330k  |   add->prev = prev;  | 
55  | 330k  |   prev->next = add;  | 
56  | 330k  | } Line  | Count  | Source  |  51  | 330k  | { |  52  | 330k  |   next->prev = add;  |  53  | 330k  |   add->next = next;  |  54  | 330k  |   add->prev = prev;  |  55  | 330k  |   prev->next = add;  |  56  | 330k  | }  |  
 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  | 82.5k  | { | 
68  | 82.5k  |   __list_add(add, head, head->next);  | 
69  | 82.5k  | } Line  | Count  | Source  |  67  | 82.5k  | { |  68  | 82.5k  |   __list_add(add, head, head->next);  |  69  | 82.5k  | }  |  
 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  | 248k  | { | 
81  | 248k  |   __list_add(add, head->prev, head);  | 
82  | 248k  | } Line  | Count  | Source  |  80  | 248k  | { |  81  | 248k  |   __list_add(add, head->prev, head);  |  82  | 248k  | }  |  
 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  | 330k  | { | 
94  | 330k  |   next->prev = prev;  | 
95  | 330k  |   prev->next = next;  | 
96  | 330k  | } Line  | Count  | Source  |  93  | 330k  | { |  94  | 330k  |   next->prev = prev;  |  95  | 330k  |   prev->next = next;  |  96  | 330k  | }  |  
 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  | 327k  | { | 
107  | 327k  |   __list_del(entry->prev, entry->next);  | 
108  | 327k  | } Line  | Count  | Source  |  106  | 327k  | { |  107  | 327k  |   __list_del(entry->prev, entry->next);  |  108  | 327k  | }  |  
 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.96k  | { | 
116  | 2.96k  |   __list_del(entry->prev, entry->next);  | 
117  | 2.96k  |   INIT_LIST_HEAD(entry);  | 
118  | 2.96k  | } Line  | Count  | Source  |  115  | 2.96k  | { |  116  | 2.96k  |   __list_del(entry->prev, entry->next);  |  117  | 2.96k  |   INIT_LIST_HEAD(entry);  |  118  | 2.96k  | }  |  
 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  | 405k  | { | 
126  | 405k  |   return head->next == head;  | 
127  | 405k  | } Line  | Count  | Source  |  125  | 405k  | { |  126  | 405k  |   return head->next == head;  |  127  | 405k  | }  |  
 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.21k  | { | 
156  | 1.21k  |   struct list_head *first = list->next;  | 
157  |  |  | 
158  | 1.21k  |   if (first != list) { | 
159  | 1.21k  |     struct list_head *last = list->prev;  | 
160  | 1.21k  |     struct list_head *at = head->next;  | 
161  |  |  | 
162  | 1.21k  |     first->prev = head;  | 
163  | 1.21k  |     head->next = first;  | 
164  |  |  | 
165  | 1.21k  |     last->next = at;  | 
166  | 1.21k  |     at->prev = last;  | 
167  | 1.21k  |   }  | 
168  | 1.21k  | } Line  | Count  | Source  |  155  | 1.21k  | { |  156  | 1.21k  |   struct list_head *first = list->next;  |  157  |  |  |  158  | 1.21k  |   if (first != list) { |  159  | 1.21k  |     struct list_head *last = list->prev;  |  160  | 1.21k  |     struct list_head *at = head->next;  |  161  |  |  |  162  | 1.21k  |     first->prev = head;  |  163  | 1.21k  |     head->next = first;  |  164  |  |  |  165  | 1.21k  |     last->next = at;  |  166  | 1.21k  |     at->prev = last;  |  167  | 1.21k  |   }  |  168  | 1.21k  | }  |  
 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  | 29.0M  | #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  | 25.0M  |   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.45M  |   for (pos = (head)->next, pnext = pos->next; pos != (head); \  | 
209  | 4.05M  |        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 */  |