Age | Commit message (Collapse) | Author |
|
* io.c (trivfs_S_file_get_storage_info): Fail with EOPNOTSUPP when
there is no store open.
* dev.h (struct dev): New member `enforced'.
* storeio.c (enforce_store): New variable.
(options, parse_opt, trivfs_append_args): Grok new option
--enforced/-e to set enforce_store.
(check_open_hook): Set DEVICE->enforced from enforce_store.
* io.c (trivfs_S_file_get_storage_info): If DEV->enforced is set
and the store flags lack STORE_ENFORCED, then return STORAGE_OTHER.
|
|
* wiring.c (wire_all_memory): Touch pages before wiring.
|
|
* default_pager.c (default_pager_initialize): Use MACH_PORT_VALID to
check old DMM port, rather than just checking for MACH_PORT_NULL.
|
|
* device.c (dev_error): New static function.
Translate all expected D_* codes into POSIX codes.
(dev_read, dev_write, dev_open): Use it.
|
|
|
|
* vmstat.c (BADVAL): New macro.
(SWAP_FIELD): New macro. This properly takes care of exciting C
type promotion rules to properly indicate errors.
(get_swap_size, get_swap_free, get_swap_active): Replace definitions
with ones using SWAP_FIELD macro.
(ensure_def_pager_info): Give an error message for lack of a default
pager; check only once.
|
|
|
|
* strfcns.c (index): Function removed.
|
|
|
|
* ffs_file_io.c (ffs_open_file): Use memmove instead of ovbcopy.
* ext2_file_io.c (ext2_open_file): Likewise.
* strfcns.c (ovbcopy): Function removed.
|
|
|
|
* priv.h (_diskfs_chroot_directory): Remove const from type.
* init-startup.c (_diskfs_chroot_directory): Likewise.
|
|
|
|
* disk-pager.c (fault_handler): Put more detail in assert failures.
|
|
* bootstrap.c (main): Further spruce up prompting and error reporting
for root device and boot script.
|
|
|
|
* io-write.c: Include <fcntl.h>.
|
|
* fsys-getroot.c (trivfs_S_fsys_getroot): Fix typo.
|
|
|
|
* io-write.c (trivfs_S_io_write): Return EBADF if trivfs_allow_open
doesn't include O_WRITE.
|
|
* io-modes-get.c (trivfs_S_io_get_openmodes): Remove assert.
The default implementation ought to be fine for this.
|
|
|
|
* exectrans.c (trivfs_support_write, trivfs_support_exec): Variables
removed.
(trivfs_allow_open): Set to just O_READ.
|
|
|
|
* io-owner-get.c (trivfs_S_io_get_owner): Remove asserts.
It is entirely reasonable to have EOPNOTSUPP be the default
implementation for these calls that files are not obligated to provide.
* io-owner-mod.c (trivfs_S_io_mod_owner): Likewise.
* io-map.c (trivfs_S_io_map): Likewise.
* io-async.c (trivfs_S_io_async): Likewise.
* io-async-icky.c (trivfs_S_io_get_icky_async_id): Likewise.
|
|
* hello-mt.c: New file, modified from hello.c to be multithreaded.
* Makefile (targets, SRCS): Add hello-mt, hello-mt.c.
(hello-mt): Add appropriate deps.
* hello.c (trivfs_modify_stat): Set st_size from contents_len, not
sizeof (hello) - 1.
|
|
* hello-mt.c: New file, modified from hello.c to be multithreaded.
* Makefile (targets, SRCS): Add hello-mt, hello-mt.c.
(hello-mt): Add appropriate deps.
|
|
* hello-mt.c: New file, modified from hello.c to be multithreaded.
* Makefile (targets, SRCS): Add hello-mt, hello-mt.c.
(hello-mt): Add appropriate deps.
* Makefile (hello): Don't depend on libthreads.
|
|
* fsys-getroot.c (trivfs_S_fsys_getroot): Return EROFS or EACCES for a
disallowed open attempt, instead of EOPNOTSUPP. EOPNOTSUPP results in
the confusing result of ENOTDIR being delivered to the user.
|
|
|
|
* hello.c: New file. From Gord with some cleanups and hacks from me.
* Makefile (targets, SRCS): Add hello, hello.c.
(hello): Add appropriate deps.
|
|
|
|
* wire.c: Use a weak reference to _DYNAMIC.
|
|
|
|
* load.c, bootstrap.c: Back out some debugging printfs accidentally
included in the last commit.
* bootstrap.c (main): Increase size of NEW_ROOT buffer.
This change was included in the last commit, but not logged then.
|
|
|
|
* file_io.h: Include <errno.h>.
(FS_* macros): Define these to equivalent errno codes.
* def_pager_setup.c (add_paging_file): Put strerror of result code in
error messages.
* bootstrap.c (parse_script): Likewise.
* load.c (boot_script_exec_cmd): Include NAMEBUF in error messages,
and use strerror to format result code.
* panic.c (panic): Use program_invocation_name in message.
|
|
|
|
* node-nput.c (diskfs_nput): Call diskfs_set_node_times before
diskfs_lost_hardrefs. This should address the late mtime update
bug reported and investigated by Mark Kettenis.
|
|
|
|
|
|
* sync-interval.c (periodic_sync): With diskfs_fsys_lock reader lock
held, check _diskfs_diskdirty and don't sync if not dirty.
|
|
|
|
* socket-ops.c (S_socket_getopt): Implement the call.
All options supported by the code in linux-inet are in
fact of type int, so we can support just that one size.
(This is still a bogus untyped interface!)
|
|
|
|
* opts-std-startup.c (TOGGLE): Fix `off' case.
Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
|
|
|
|
* io-pathconf.c (diskfs_S_io_pathconf): Cap diskfs_name_max to size
representable in struct dirent.d_namlen.
(diskfs_S_io_pathconf): Always return 1 for _PC_NO_TRUNC, since we
always constrain diskfs_name_max.
|
|
|
|
* lookup.c (diskfs_lookup): Enforce diskfs_name_max limit for CREATE
and RENAME, returning ENAMETOOLONG for violations.
* io-pathconf.c (diskfs_S_io_pathconf): _PC_NO_TRUNC controlled by
diskfs_name_max setting.
|