Reduce ZIO io_lock contention on sorted scrub
[zfs.git] / lib / libzfsbootenv / libzfsbootenv.abi
blob86ec25cf8470fcbfbd6758bdd13247f69924525d
1 <abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libzfsbootenv.so.1'>
2   <elf-needed>
3     <dependency name='libzfs.so.4'/>
4     <dependency name='libnvpair.so.3'/>
5     <dependency name='libc.so.6'/>
6   </elf-needed>
7   <elf-function-symbols>
8     <elf-symbol name='lzbe_add_pair' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
9     <elf-symbol name='lzbe_bootenv_print' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
10     <elf-symbol name='lzbe_get_boot_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
11     <elf-symbol name='lzbe_nvlist_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
12     <elf-symbol name='lzbe_nvlist_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
13     <elf-symbol name='lzbe_nvlist_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
14     <elf-symbol name='lzbe_remove_pair' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
15     <elf-symbol name='lzbe_set_boot_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
16   </elf-function-symbols>
17   <abi-instr address-size='64' path='lzbe_device.c' language='LANG_C99'>
18     <type-decl name='char' size-in-bits='8' id='a84c031d'/>
19     <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
20     <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
21     <type-decl name='void' id='48b5725f'/>
22     <enum-decl name='lzbe_flags' id='2b77720b'>
23       <underlying-type type-id='9cac1fee'/>
24       <enumerator name='lzbe_add' value='0'/>
25       <enumerator name='lzbe_replace' value='1'/>
26     </enum-decl>
27     <typedef-decl name='lzbe_flags_t' type-id='2b77720b' id='a1936f04'/>
28     <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
29     <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
30     <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
31     <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
32     <function-decl name='lzbe_set_boot_device' mangled-name='lzbe_set_boot_device' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_set_boot_device'>
33       <parameter type-id='80f4b756' name='pool'/>
34       <parameter type-id='a1936f04' name='flag'/>
35       <parameter type-id='80f4b756' name='device'/>
36       <return type-id='95e97e5e'/>
37     </function-decl>
38     <function-decl name='lzbe_get_boot_device' mangled-name='lzbe_get_boot_device' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_get_boot_device'>
39       <parameter type-id='80f4b756' name='pool'/>
40       <parameter type-id='9b23c9ad' name='device'/>
41       <return type-id='95e97e5e'/>
42     </function-decl>
43   </abi-instr>
44   <abi-instr address-size='64' path='lzbe_pair.c' language='LANG_C99'>
45     <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
46     <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
47     <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
48     <pointer-type-def type-id='eaa32e2f' size-in-bits='64' id='63e171df'/>
49     <function-decl name='lzbe_nvlist_get' mangled-name='lzbe_nvlist_get' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_nvlist_get'>
50       <parameter type-id='80f4b756' name='pool'/>
51       <parameter type-id='80f4b756' name='key'/>
52       <parameter type-id='63e171df' name='ptr'/>
53       <return type-id='95e97e5e'/>
54     </function-decl>
55     <function-decl name='lzbe_nvlist_set' mangled-name='lzbe_nvlist_set' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_nvlist_set'>
56       <parameter type-id='80f4b756' name='pool'/>
57       <parameter type-id='80f4b756' name='key'/>
58       <parameter type-id='eaa32e2f' name='ptr'/>
59       <return type-id='95e97e5e'/>
60     </function-decl>
61     <function-decl name='lzbe_nvlist_free' mangled-name='lzbe_nvlist_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_nvlist_free'>
62       <parameter type-id='eaa32e2f' name='ptr'/>
63       <return type-id='48b5725f'/>
64     </function-decl>
65     <function-decl name='lzbe_add_pair' mangled-name='lzbe_add_pair' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_add_pair'>
66       <parameter type-id='eaa32e2f' name='ptr'/>
67       <parameter type-id='80f4b756' name='key'/>
68       <parameter type-id='80f4b756' name='type'/>
69       <parameter type-id='eaa32e2f' name='value'/>
70       <parameter type-id='b59d7dce' name='size'/>
71       <return type-id='95e97e5e'/>
72     </function-decl>
73     <function-decl name='lzbe_remove_pair' mangled-name='lzbe_remove_pair' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_remove_pair'>
74       <parameter type-id='eaa32e2f' name='ptr'/>
75       <parameter type-id='80f4b756' name='key'/>
76       <return type-id='95e97e5e'/>
77     </function-decl>
78   </abi-instr>
79   <abi-instr address-size='64' path='lzbe_util.c' language='LANG_C99'>
80     <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
81       <subrange length='1' type-id='7359adad' id='52f813b4'/>
82     </array-type-def>
83     <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
84       <subrange length='20' type-id='7359adad' id='fdca39cf'/>
85     </array-type-def>
86     <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
87     <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
88     <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
89     <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
90     <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
91     <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
92     <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
93     <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
94     <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
95     <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
96     <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
97       <data-member access='public' layout-offset-in-bits='0'>
98         <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
99       </data-member>
100       <data-member access='public' layout-offset-in-bits='64'>
101         <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
102       </data-member>
103       <data-member access='public' layout-offset-in-bits='128'>
104         <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
105       </data-member>
106       <data-member access='public' layout-offset-in-bits='192'>
107         <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
108       </data-member>
109       <data-member access='public' layout-offset-in-bits='256'>
110         <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
111       </data-member>
112       <data-member access='public' layout-offset-in-bits='320'>
113         <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
114       </data-member>
115       <data-member access='public' layout-offset-in-bits='384'>
116         <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
117       </data-member>
118       <data-member access='public' layout-offset-in-bits='448'>
119         <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
120       </data-member>
121       <data-member access='public' layout-offset-in-bits='512'>
122         <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
123       </data-member>
124       <data-member access='public' layout-offset-in-bits='576'>
125         <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
126       </data-member>
127       <data-member access='public' layout-offset-in-bits='640'>
128         <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
129       </data-member>
130       <data-member access='public' layout-offset-in-bits='704'>
131         <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
132       </data-member>
133       <data-member access='public' layout-offset-in-bits='768'>
134         <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
135       </data-member>
136       <data-member access='public' layout-offset-in-bits='832'>
137         <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
138       </data-member>
139       <data-member access='public' layout-offset-in-bits='896'>
140         <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
141       </data-member>
142       <data-member access='public' layout-offset-in-bits='928'>
143         <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
144       </data-member>
145       <data-member access='public' layout-offset-in-bits='960'>
146         <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
147       </data-member>
148       <data-member access='public' layout-offset-in-bits='1024'>
149         <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
150       </data-member>
151       <data-member access='public' layout-offset-in-bits='1040'>
152         <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
153       </data-member>
154       <data-member access='public' layout-offset-in-bits='1048'>
155         <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
156       </data-member>
157       <data-member access='public' layout-offset-in-bits='1088'>
158         <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
159       </data-member>
160       <data-member access='public' layout-offset-in-bits='1152'>
161         <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
162       </data-member>
163       <data-member access='public' layout-offset-in-bits='1216'>
164         <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
165       </data-member>
166       <data-member access='public' layout-offset-in-bits='1280'>
167         <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
168       </data-member>
169       <data-member access='public' layout-offset-in-bits='1344'>
170         <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
171       </data-member>
172       <data-member access='public' layout-offset-in-bits='1408'>
173         <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
174       </data-member>
175       <data-member access='public' layout-offset-in-bits='1472'>
176         <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
177       </data-member>
178       <data-member access='public' layout-offset-in-bits='1536'>
179         <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
180       </data-member>
181       <data-member access='public' layout-offset-in-bits='1568'>
182         <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
183       </data-member>
184     </class-decl>
185     <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
186     <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
187     <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
188     <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
189     <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
190     <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
191     <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
192     <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
193     <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
194     <function-decl name='lzbe_bootenv_print' mangled-name='lzbe_bootenv_print' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lzbe_bootenv_print'>
195       <parameter type-id='80f4b756' name='pool'/>
196       <parameter type-id='80f4b756' name='nvlist'/>
197       <parameter type-id='822cd80b' name='of'/>
198       <return type-id='95e97e5e'/>
199     </function-decl>
200   </abi-instr>
201 </abi-corpus>