mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-29 16:44:03 +00:00
5a28df2e13
getmntinfo(3) is designed around a relatively static or slow growing set of current mounts. It tried to detect a race with somewhat concurrent mount and re-call getfsstat(2) in that case, looping indefinitely. It also allocated space for a single extra mount as slop. In the case where the user has a large number of mounts and is adding them at a rapid pace, it fell over. This patch makes two functional changes: 1. Allocate even more slop. Double whatever the last getfsstat(2) returned. 2. Abort and return some known results after looping a few times (arbitrarily, 3). If the list is constantly changing, we can't guarantee we return a full result to the user at any point anyways. While here, add very basic functional tests for getmntinfo(3) to the libc suite. PR: 221743 Submitted by: Peter Eriksson <peter AT ifm.liu.se> (earlier version) Sponsored by: Dell EMC Isilon |
||
---|---|---|
.. | ||
c063 | ||
db | ||
gen | ||
hash | ||
iconv | ||
inet | ||
locale | ||
net | ||
nss | ||
regex | ||
resolv | ||
rpc | ||
setjmp | ||
ssp | ||
stdio | ||
stdlib | ||
string | ||
sys | ||
termios | ||
time | ||
tls | ||
tls_dso | ||
ttyio | ||
Makefile | ||
Makefile.depend | ||
Makefile.netbsd-tests |