freebsd-skq/lib
Marcel Moolenaar f2fb1d4531 Provide a means for loaders to control which file system to use. This
to counteract the default behaviour of always trying each and every
file system until one succeeds, or the open fails. The problem with the
loader is that we've implemented features based on this behavior. The
handling of compressed files is a good example of this. However, it is
in general highly undesirable to not have a one-time probe (or taste
in the geom lingo), followed by something similar to a mount whenever
we (first) read from a device. Everytime we go to the same device, we
can reasonably assume it (still) has the same file system. For file
systems that need to do far more that a trivial read of a super block,
not having something similar to a mount operation is disastrous from
a performance (and thus usability) perspective.

But, again, since we've implemented features based on this stateless
approach, things can get complicated quickly if and when we want to
change this. And yet, we sometimes do need stateful behaviour.

For this reason, this change simply introduces exclusive_file_system.
When set to the fsops of the file system to use, the open call will
only try this file system. Setting it to NULL restores the default
behaviour. It's a low-cost (low-brow?) approach to provide enough
control without re-implementing the guts of the loader.

A good example of when this is useful is when we're trying to load
files out of a container (say, a software packaga) that itself lives
on a file system or is fetched over the network. While opening the
container can be done in the normal stateless manner, once it is
opened, subsequent opens should only consider the container.

Obtained from:	Juniper Networks, Inc.
2014-07-30 16:08:16 +00:00
..
atf Homogenize libatf-* version numbers with upstream. 2014-06-06 17:05:43 +00:00
clang Remove ia64. 2014-07-07 00:27:09 +00:00
csu Reviewed by: imp 2014-07-26 04:38:09 +00:00
libalias
libarchive In r232153, libarchive 3.0.3 was imported, replacing the archive_hash.h 2014-07-26 15:33:20 +00:00
libauditd NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
libbegemot
libblocksruntime
libbluetooth use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libbsdstat libbsdstat: fix warnings, set WARNS 2014-03-11 01:10:44 +00:00
libbsm
libbsnmp Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libbz2
libc If telldir() is called immediately after a call to seekdir(), POSIX 2014-07-29 00:16:33 +00:00
libc_nonshared Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libc++ Import libc++ 3.4 release. This contains a lot of bugfixes, and some 2014-01-30 07:44:22 +00:00
libcalendar use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libcam use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libcapsicum use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libcasper Update most userspace consumers of capability.h to use capsicum.h instead. 2014-03-16 11:04:44 +00:00
libcom_err
libcompat
libcompiler_rt Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libcrypt use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libcuse mdoc: remove superfluous paragraph macros. 2014-06-23 18:40:21 +00:00
libcxxrt Add missing C++11 typeinfos to the libcxxrt version script. 2014-01-11 19:02:17 +00:00
libdevinfo use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libdevstat use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libdwarf Bump SHLIB_MAJOR for libdwarf as ABI/API has changed. 2014-01-21 21:11:07 +00:00
libedit Fix mismatch. 2014-07-23 15:12:17 +00:00
libefi use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libelf Bump SHLIB_MAJOR for libelf. 2014-01-21 21:13:13 +00:00
libexecinfo
libexpat use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libfetch Add a comment to explain the EAGAIN is only there for POSIX compliance 2014-07-15 15:29:43 +00:00
libgeom use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libgpib
libgssapi use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libiconv Split the last gcc-specific flags off into CFLAGS.gcc. This also 2014-01-05 21:03:49 +00:00
libiconv_modules Replace malloc+memset with calloc. 2014-06-13 08:26:53 +00:00
libipsec Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libjail
libkiconv Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libkvm Remove ia64. 2014-07-07 00:27:09 +00:00
libldns Remove dead files. 2014-05-15 15:22:32 +00:00
liblzma
libmagic MFV r267843: update file/libmagic to 5.19. 2014-06-26 06:03:39 +00:00
libmandoc Merge mdocml v1.12.3 into head 2014-02-01 09:27:57 +00:00
libmd use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libmemstat use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libmilter Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libmp
libnandfs
libnetbsd
libnetgraph use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libngatm
libnv use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libopie
libpam Remove useless getpwnam() call. 2014-07-26 07:40:31 +00:00
libpcap Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libpjdlog Move my simple logging API to a separate library. It is now already used 2013-12-01 09:41:06 +00:00
libpmc Update the list of cross references to include the more modern set of 2014-07-28 10:17:41 +00:00
libproc In libproc, avoid calling __cxa_demangle(), and thus depending on either 2014-07-09 17:31:57 +00:00
libprocstat use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libradius Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
librpcsec_gss use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
librpcsvc Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
librt
librtld_db use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libsbuf Unbreak the ABI by reverting r268494 until the compat shims are provided 2014-07-28 07:20:22 +00:00
libsdp use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libsm Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libsmb Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libsmdb
libsmutil
libstand Provide a means for loaders to control which file system to use. This 2014-07-30 16:08:16 +00:00
libstdbuf
libstdthreads use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libtacplus
libtelnet When building picobsd, define WITHOUT_OPENSSL and WITHOUT_KERBEROS and 2014-06-06 04:09:07 +00:00
libthr Remove ia64. 2014-07-07 00:27:09 +00:00
libthread_db Remove ia64. 2014-07-07 00:27:09 +00:00
libucl Update libucl to the 2014-07-16 snapshot 2014-07-18 06:58:01 +00:00
libufs use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libugidfw
libulog Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
libunbound Clean up the libunbound build to avoid accidentally regenerating the 2014-07-19 18:38:48 +00:00
libusb Update reported libusb version to 1.0.13 2014-06-05 14:19:32 +00:00
libusbhid
libutil fparseln(3): Update from NetBSD sources. 2014-07-23 14:57:15 +00:00
libvgl use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
libvmmapi Fix fault injection in bhyve. 2014-07-24 01:38:11 +00:00
libwrap Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
liby
libypclnt
libz Fix path for zlib examples, this have no runtime effect and was 2014-06-11 20:48:40 +00:00
msun * Update the comments to agree with commit r226595. 2014-07-13 23:10:39 +00:00
ncurses Remove ia64. 2014-07-07 00:27:09 +00:00
tests Install category Kyuafiles from their category directories. 2013-11-08 14:29:06 +00:00
Makefile Remove ia64. 2014-07-07 00:27:09 +00:00
Makefile.inc