Age | Commit message (Collapse) | Author |
|
|
|
* dir-lookup.c (diskfs_S_dir_lookup): Follow symlink despite flags if
MUSTBEDIR is set (i.e. there was a trailing slash).
|
|
|
|
* rdwr-internal.c (_diskfs_rdwr_internal): Short-circuit return for
zero-length transfer to avoid side effects, as POSIX requires.
|
|
|
|
Rewrite of a fix provided by Bill White <bill.white@griggsinst.com>:
* fhandle.h (union diskfs_fhandle): Replaces struct diskfs_fhandle.
Use a union element of char[28] to ensure size requirement.
* fsys-getfile.c (diskfs_S_fsys_getfile): Update uses for new type.
* file-getfh.c (diskfs_S_file_getfh): Likewise.
|
|
|
|
* io-read.c (diskfs_S_io_read): Add braces to silence gcc
warning.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* diskfs.h (diskfs_name_max): Declare new variable.
* io-pathconf.c (diskfs_S_io_pathconf): Use it for _PC_NAME_MAX,
capping it to 1024.
|
|
|
|
* opts-std-runtime.c (parse_opt: ARGP_KEY_INIT): Initialize H->noatime.
|
|
|
|
* dir-readdir.c (diskfs_S_dir_readdir): Take new DATA_DEALLOC param.
|
|
|
|
* lookup.c (diskfs_lookup): Rewrite code from last change, which had
typos (and then I just decided to change the details of the string
diddling).
|
|
* lookup.c (diskfs_lookup): NAME is no longer const. Update
documentation Strip leading and trailing slashes from NAME before
using it.
* diskfs.h (diskfs_lookup): NAME is no longer const.
Update documentation.
1999-10-05 Thomas Bushnell, BSG <tb@mit.edu>
* priv.h (CHANGE_NODE_FIELD): Use diskfs_check_readonly instead of
directly reading diskfs_readonly.
|
|
* node-times.c (diskfs_set_node_times): Don't implement
_diskfs_noatime here.
* conch-fetch.c (iohelp_fetch_shared_data): Don't update
dn_set_atime on affected node if _diskfs_noatime.
* rdwr-internal.c (_diskfs_rdwr_internal): Likewise.
|
|
|
|
* node-times.c (diskfs_set_node_times): If _diskfs_noatime is set and
neither NP->dn_set_mtime nor NP->dn_set_ctime is set, clear
NP->dn_set_atime. Short-circuit return if none of dn_set_?time set.
* opts-common.c (diskfs_common_options): Include "priv.h".
Add aliases --ro/--rw for -r/-w. Add alias --nosuid for --no-suid,
--noexec for --no-exec. Move --suid-ok, --exec-ok here from ...
* opts-std-runtime.c (std_runtime_options): ... here.
(struct parse_hook): New member `noatime'.
(set_opts): Use H->noatime to set _diskfs_noatime.
(parse_opt): Grok -A and OPT_ATIME to set/clear H->noatime.
(OPT_ATIME): New macro.
(OPT_SUID_OK, OPT_EXEC_OK): Moved to ...
* priv.h: ... here.
(diskfs_common_options): Add const to decl.
* opts-std-startup.c (parse_startup_opt): Grok OPT_SUID_OK,
OPT_EXEC_OK, -A, and OPT_ATIME.
* init-init.c (_diskfs_noatime): New variable.
(_diskfs_nosuid, _diskfs_noexec): Use uninitialized defns.
* opts-append-std.c (diskfs_append_std_options): Add --no-atime if
_diskfs_noatime is set.
|
|
|
|
* io-pathconf.c: Include <unistd.h>.
(diskfs_S_io_pathconf): Provide real definition.
|
|
* io-map-segment.c: New file. Guts from io-map.c.
* io-map.c (diskfs_S_io_map): Just call diskfs_S_io_map_segment.
* diskfs.h (diskfs_get_filemap): New parameter `index'.
* rdwr-internal.c (_diskfs_rdwr_internal): Pass additional
parameter to diskfs_get_filemap.
* Makefile (IOSRCS): Add io-map-segment.c.
|
|
|
|
* dir-rmdir.c (diskfs_S_dir_rmdir): Fix bugs in last change.
Replace label `out' with local inline function `done'.
Don't try diskfs_nput (NP) when NP is null.
|
|
|
|
* dir-link.c (diskfs_S_dir_link): Fix error checks on ports.
If DIRCRED (receiver port) is bad, return EOPNOTSUPP.
If FILECRED (argument port) is bad, return EXDEV (after EROFS check).
|
|
|
|
* boot-start.c (diskfs_S_exec_startup_get_info): Typo in last change.
|
|
* boot-start.c (diskfs_S_exec_startup_get_info): Use mmap instead
of vm_allocate.
(diskfs_S_fsys_init): Likewise.
* file-get-trans.c (diskfs_S_file_get_translator): Likewise.
* file-getfh.c (diskfs_S_file_getfh): Likewise.
* io-read.c (diskfs_S_io_read): Likewise.
|
|
|
|
* priv.h: Add #include <sys/mman.h> for munmap decl.
|
|
* node-nputl.c (diskfs_nput_light): Fix typo in function
declaration. Reported by Yamashita TAKAO
(jargon@lares.dti.ne.jp).
|
|
* file-get-trans.c (diskfs_S_file_get_translator): Use munmap
instead of vm_deallocate.
* io-read.c (diskfs_S_io_read): Likewise.
* protid-rele.c (diskfs_protid_rele): Likewise.
|
|
* node-nref.c: New file; guts from diskfs.h.
* node-nput.c: Likewise.
* node-nrele.c: Likewise.
* node-nrefl.c: Likewise.
* node-nputl.c: Likewise.
* node-nrelel.c: LIkewise.
* diskfs.h (diskfs_nref, diskfs_nput, diskfs_nrele,
diskfs_nref_light, diskfs_nput_light, diskfs_nrele_light): Replace
inline definitions with ordinary declarations.
(DISKFS_EI): Removed macro.
* diskfs.c: Deleted file.
* Makefile (OTHERSRCS): Added node-nref.c, node-nput.c
node-nrele.c, node-nrefl.c, node-nputl.c, node-nrelel.c. Removed
diskfs.c.
|