freebsd-dev/stand/libsa
Toomas Soome 97cbd5e722 loader: open file list should be dynamic
Summary:
Open file list is currently created as statically allocated array (64 items).
Once this array is filled up, loader will not be able to operate with files.
In most cases, this mechanism is good enough, but the problem appears, when
we have many disks with zfs pool(s). In current loader implementation, all
discovered zfs pool configurations are kept in memory and disk devices open -
consuming the open file array. Rewrite the open file mechanism to use
dynamically allocated list.

Reviewed by:	imp
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D31364
2021-08-10 21:54:32 +03:00
..
amd64 libsa: Remove conflicting .global/.weak directive 2021-03-30 14:59:41 +01:00
geli loader: implement GELI writes 2020-07-11 06:51:42 +00:00
i386
mips libsa: mips: fix typo that had slipped into the diff on local machine 2019-08-22 21:49:13 +00:00
powerpc Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
x86 Add support for hypervisor check on x86 2019-10-24 20:02:48 +00:00
zfs loader: we should support pools without features 2021-04-04 02:01:03 +03:00
__main.c
abort.c Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
arp.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
assert.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
bcd.c
bootp.c libsa: bootp is using pointers with different sign 2018-08-01 12:06:39 +00:00
bootp.h libsa: bootp is using pointers with different sign 2018-08-01 12:06:39 +00:00
bootparam.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
bootparam.h
bzipfs.c libsa: Fix infinite loop in bzipfs & gzipfs 2021-06-01 11:08:20 -05:00
cd9660.c loader: cd9660_open() warn: is 'buf' large enough for 'struct iso_primary_descriptor'? 2019-12-13 12:36:16 +00:00
cd9660read.c loader: cd9660_open() warn: is 'buf' large enough for 'struct iso_primary_descriptor'? 2019-12-13 12:36:16 +00:00
close.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
closeall.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
crc32_libkern.c Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
dev.c
dosfs.c libsa: dos_checksum() should take unsigned chars 2018-08-07 10:48:36 +00:00
dosfs.h Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
environment.c libsa: remove leftover whitespace 2020-08-19 20:41:22 +00:00
ether.c
ext2fs.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
fstat.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
getopt.c
gets.c libsa: exit on EOF in ngets 2018-08-09 02:55:48 +00:00
globals.c
gpt.c loader: remove libsa/crc32.c and use version from zlib 2020-03-19 21:05:11 +00:00
gpt.h Eliminate unused uuid parameters from gptread and gptread_table. We 2019-06-05 02:34:58 +00:00
gzipfs.c libsa: Fix infinite loop in bzipfs & gzipfs 2021-06-01 11:08:20 -05:00
hexdump.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
in_cksum.c
inet_ntoa.c
ioctl.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
iodesc.h loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
ip.c Remove unnecessary include from libstand. 2018-10-31 19:59:20 +00:00
libsa.3 libsa(3): Correct statement about FS Write-support, name change 2018-06-09 14:24:16 +00:00
lseek.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
Makefile libsa: Add support for timestamp logging (tslog) 2021-06-20 20:09:42 -07:00
Makefile.depend Enable veriexec for loader 2019-02-26 06:22:10 +00:00
net.c Wait a maximum of 300 seconds for network send/recv in libsa 2018-12-20 19:27:46 +00:00
net.h loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
netif.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
netif.h
nfs.c Logging improvements to loader::nfs 2019-11-13 03:56:51 +00:00
nfsv2.h
nullfs.c libsa: replace remaining _write callbacks by null_write 2018-02-27 12:53:25 +00:00
open.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
pager.c
panic.c
pkgfs.c pkgfs_open: follow symlinks 2021-01-14 17:33:05 -08:00
printf.c loader: asprinf does crash arm64 due to missing NULL pointer check 2019-11-01 06:54:07 +00:00
random.c
rarp.c
read.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
readdir.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
rpc.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
rpc.h
rpcv2.h
saioctl.h
sbrk.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
smbios.c libsa: smbios: Parse the chassis type and export it as smbios.chassis.type 2020-08-20 12:50:49 +00:00
smbios.h Move smbios.c to libsa. 2020-02-20 00:46:22 +00:00
splitfs.c
stand.h loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
stat.c
strcasecmp.c
strdup.c
strerror.c
tftp.c loader: tftp client should use server address from rootip 2021-08-02 15:43:54 +03:00
tftp.h
time.c Implement some time variables from kernel 2020-09-29 16:29:50 +00:00
tslog.c libsa: Add tslog support for arm64 2021-06-23 22:21:23 -07:00
twiddle.c loader: Use tslog to instrument some functions 2021-06-20 20:09:48 -07:00
udp.c Remove unnecessary include from libstand. 2018-10-31 19:59:20 +00:00
ufs.c Move the pointers stored in the superblock into a separate 2020-06-19 01:02:53 +00:00
ufsread.c
uuid_from_string.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
uuid_to_string.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
write.c loader: open file list should be dynamic 2021-08-10 21:54:32 +03:00
xlocale_private.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
zalloc_defs.h loader: cstyle cleanup libsa zalloc sources 2019-09-17 11:35:53 +00:00
zalloc_malloc.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
zalloc_mem.h loader: cstyle cleanup libsa zalloc sources 2019-09-17 11:35:53 +00:00
zalloc_protos.h loader: add memalign() to libsa 2019-09-17 13:15:27 +00:00
zalloc.c loader: fix typo in zalloc. 2019-09-20 05:22:34 +00:00