#
344291 |
|
19-Feb-2019 |
kevans |
MFC r335125-r335127, r335148, r335224
r335125: libsa: cstyle cleanup for open/close/read/write sources
r335126: libsa: f_rabuf could be NULL
It is possible that we will not get RA buffer from open(), therefore we must validate RA.
r335127: libsa: remobe unneeded check before free()
free() is checking for NULL, remove duplicate check.
r335148: libsa: open() should use NULL instead of typecasted 0
r335224: Remove empty directory
|
#
344289 |
|
19-Feb-2019 |
kevans |
MFC r335069-r335071, r335110, r335116: stand housecleaning
r335069: Remove fail: label. It's unused.
r335070: Remove unused variables.
[kevans@: removed ufs.c modifications; those depend on ufs rewrite bits]
r335071: Initialize variables we later free so they aren't used uninitialized in the error path. Remove unused variables.
r335110: Remove redundant defs.mk includes. They aren't needed.
r335116: Use bool for vargood, since it's a boolean.
|
#
269308 |
|
30-Jul-2014 |
marcel |
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.
|
#
65470 |
|
05-Sep-2000 |
msmith |
Implement readahead buffering for non-raw files. This drastically improves the efficiency of byte-by-byte read operations on filesystems not already supported by the block cache (especially NFS).
This should be a welcome change for users booting via PXE, as the loader now reads its startup files almost instantly, instead of taking tens of seconds.
|