summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/ChangeLog4136
-rw-r--r--libdiskfs/boot-start.c8
-rw-r--r--libdiskfs/dir-lookup.c28
-rw-r--r--libdiskfs/dir-rename.c12
-rw-r--r--libdiskfs/dir-renamed.c1
-rw-r--r--libdiskfs/diskfs.h14
-rw-r--r--libdiskfs/file-utimes.c6
-rw-r--r--libdiskfs/fsys-getroot.c3
-rw-r--r--libdiskfs/io-pathconf.c1
-rw-r--r--libdiskfs/io-reauthenticate.c2
-rw-r--r--libdiskfs/lookup.c2
-rw-r--r--libdiskfs/node-times.c44
-rw-r--r--libdiskfs/priv.h6
13 files changed, 72 insertions, 4191 deletions
diff --git a/libdiskfs/ChangeLog b/libdiskfs/ChangeLog
deleted file mode 100644
index 197ec5ed..00000000
--- a/libdiskfs/ChangeLog
+++ /dev/null
@@ -1,4136 +0,0 @@
-2007-04-04 Thomas Schwinge <tschwinge@gnu.org>
-
- * opts-std-startup.c (parse_startup_opt)
- <_diskfs_no_inherit_dir_group>: Swap the options into the correct
- order. Reported by Olaf Buddenhagen <olafbuddenhagen@gmx.net>.
-
-2006-06-28 Thomas Schwinge <tschwinge@gnu.org>
-
- * Makefile (HURDLIBS): Add `pager'.
-
-2006-03-15 Thomas Schwinge <tschwinge@gnu.org>
-
- * priv.h: Include <argp.h>.
-
-2006-03-05 Roland McGrath <roland@frob.com>
-
- * io-seek.c (diskfs_S_io_seek): Return EINVAL if file pointer would
- become negative.
-
-2004-02-10 Roland McGrath <roland@frob.com>
-
- * opts-runtime.c (diskfs_runtime_argp): Include <argp.h>.
-
-2003-10-11 Marcus Brinkmann <marcus@gnu.org>
-
- * notify-nosenders.c, notify-stubs.c: Delete obsolete files.
-
-2003-06-11 Ognyan Kulev <ogi@fmi.uni-sofia.bg>
-
- * dir-renamed.c (diskfs_rename_dir): Check permissions to remove
- FROMNAME before any modification could take place. Check result
- of removing the from node.
-
-2002-06-26 Marcus Brinkmann <marcus@gnu.org>
-
- * Makefile (DIST_FILES): Variable removed.
- (MIGSTUBS): Use fs_notifyUser.o, not ourfs_notifyUser.o.
- * ourfs_notify.defs: File removed.
- * diskfs.h (struct node): New members DIRMOD_TICK and
- FILEMOD_TICK.
- * node-make.c (diskfs_make_node): Initialize DIRMOD_TICK and
- FILEMOD_TICK.
- * dir-chg.c: Include "fs_notify_U.h" instead "ourfs_notify_U.h".
- (diskfs_S_dir_notice_changes): Use new dir_changed invocation
- instead nowait_dir_changed.
- (diskfs_notice_dirchange): Likewise. Increase tick number.
- Ignore send timeout error.
- * file-chg.c: Include "fs_notify_U.h" instead "ourfs_notify_U.h".
- (diskfs_S_file_notice_changes): Use new file_changed invocation
- instead nowait_file_changed.
- (diskfs_notice_filechange): Likewise. Increase tick number.
- Ignore send timeout error.
-
-2002-06-13 Roland McGrath <roland@frob.com>
-
- * dir-readdir.c (diskfs_S_dir_readdir): Revert last change.
-
-2002-06-08 Roland McGrath <roland@frob.com>
-
- * io-identity.c (diskfs_S_io_identity): Use ino_t for FILENO.
-
- * dir-readdir.c (diskfs_S_dir_readdir): Use vm_size_t for AMT.
-
- * diskfs.h (struct node): Use io_statbuf_t instead of struct stat.
- (struct node): Use ino64_t for cache_id.
- (struct node): Use loff_t instead of off_t.
- (diskfs_grow, diskfs_truncate, diskfs_node_rdwr): Likewise.
- (diskfs_notice_filechange): Likewise.
- (diskfs_cached_lookup): Use ino64_t for CACHE_ID argument.
-
-2002-05-26 Roland McGrath <roland@frob.com>
-
- * dir-unlink.c (diskfs_S_dir_unlink): Return EPERM instead of EISDIR,
- as per POSIX.
-
-2002-05-12 Roland McGrath <roland@frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Fail with EACCES instead of
- EOPNOTSUPP when attempting to open a special file for io or exec.
-
-2002-05-11 Roland McGrath <roland@frob.com>
-
- * trans-callback.c (_diskfs_translator_callback1_fn): Add an assert
- that netfs_get_translator not fail with EOPNOTSUPP.
-
-2001-11-20 Neal H Walfield <neal@cs.uml.edu>
-
- * diskfs.h (diskfs_boot_filesystem): Documentation fix.
-
-2002-05-08 Roland McGrath <roland@frob.com>
-
- * sync-interval.c (diskfs_set_sync_interval): Cast int to intptr_t
- before any_t.
-
- * io-map-cntl.c (diskfs_S_io_map_cntl): u_int -> vm_address_t
-
- * disk-pager.c (fault_handler): Use %z format for sc_pc.
-
- * dir-lookup.c (diskfs_S_dir_lookup): int -> size_t
- * dir-readdir.c (diskfs_S_dir_readdir): Likewise.
- * file-get-trans.c (diskfs_S_file_get_translator): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
- * diskfs.h (diskfs_append_args): unsigned -> size_t in argument type.
- (diskfs_append_std_options): Likewise.
- (diskfs_get_directs): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * file-get-fs-opts.c (diskfs_S_file_get_fs_options): Likewise.
- * file-get-trans.c (diskfs_S_file_get_translator): Likewise.
- * file-getfh.c (diskfs_S_file_getfh): Likewise.
- * file-set-trans.c (diskfs_S_file_set_translator): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise.
- * opts-append-std.c (diskfs_append_std_options): Likewise.
- * opts-get.c (diskfs_append_args): Likewise.
- * dir-readdir.c (diskfs_S_dir_readdir): Likewise.
-
-2002-05-08 Roland McGrath <roland@frob.com>
-
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Remove unused var.
-
-2002-05-04 Roland McGrath <roland@frob.com>
-
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Use
- iohelp_restrict_iouser.
-
-2002-04-02 Roland McGrath <roland@frob.com>
-
- * node-make.c (diskfs_make_node): Return early if malloc fails.
-
-2002-04-30 Marcus Brinkmann <marcus@gnu.org>
-
- * priv.h: Add OPT_NO_INHERIT_DIR_GROUP and OPT_INHERIT_DIR_GROUP.
- (_diskfs_no_inherit_dir_group): New declaration.
- * node-create.c (_diskfs_no_inherit_dir_group): New variable.
- (diskfs_create_node): Implement SysV group behaviour.
- * opts-common.c (diskfs_common_options): Add
- --no-inherit-dir-group (--nogrpdir, --sysvgroups) and
- --inherit-dir-group (--grpdir, --bsdgroups).
- * opts-append-std.c (diskfs_append_std_options): Add
- --no-inherit-dir-group if set.
- * opts-std-startup.c (parse_startup_opt): Add toggle for
- _diskfs_no_inherit_dir_group.
- * opts-std-runtime.c (struct parse_hook): Add noinheritdirgroup.
- (set_opts): Handle H->noinheritdirgroup.
- (parse_opt): Initialize H->noinheritdirgroup. Handle
- OPT_NO_INHERIT_DIR_GROUP and OPT_INHERIT_DIR_GROUP.
-
-2002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>
-
- * init-startup.c (_diskfs_init_completed): Use error, not
- fprintf.
-
-2002-03-25 Neal H Walfield <neal@cs.uml.edu>
-
- * peropen-make.c (diskfs_make_peropen): Instead of returning the
- peropen, return as error_t and return the peropen in the new
- parameter *PPO.
- * diskfs.h (diskfs_make_peropen): Change declaration to reflect
- new semantics.
-
- * boot-start.c (diskfs_start_bootstrap): Check the return value of
- diskfs_make_peropen using the new semantics.
- (diskfs_S_exec_startup_get_info): Likewise.
- (diskfs_execboot_fsys_startup): Likewise.
- (diskfs_S_fsys_init): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * file-reparent.c (diskfs_S_file_reparent): Likewise.
- * fsys-getfile.c (diskfs_S_fsys_getfile): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * trans-callback.c (_diskfs_translator_callback2_fn): Likewise.
- * init-startup.c (diskfs_startup_diskfs): Likewise.
-
-2002-03-12 Marcus Brinkmann <marcus@gnu.org>
-
- * opts-append-std.c (diskfs_append_std_options): Only add --sync=N
- or --no-sync option if it is not the default.
-
-2002-03-06 Roland McGrath <roland@frob.com>
-
- * dir-mkfile.c (diskfs_S_dir_mkfile): Clear OPENONLY_STATE_MODES bits
- from FLAGS, not all bits outside O_RDWR|O_EXEC.
-
-2002-03-05 Marcus Brinkmann <marcus@gnu.org>
-
- * diskfs.h: Refer to dir_lookup, not dir_pathtrans, in comment.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- Reported by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
-
-2002-01-03 Roland McGrath <roland@frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Clear S_ITRANS bits in MODE.
- * dir-mkdir.c (diskfs_S_dir_mkdir): Likewise.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
-
- * file-chmod.c (diskfs_S_file_chmod): Preserve S_ITRANS bits in change.
-
-2002-01-02 Roland McGrath <roland@frob.com>
-
- * boot-start.c (diskfs_start_bootstrap) [KERN_INVALID_LEDGER]:
- Pass extra arguments to task_create for OSF variant.
-
-2001-12-31 Roland McGrath <roland@frob.com>
-
- * disk-pager.c (fault_handler): Use sc_pc instead of sc_eip.
-
-2001-12-08 Roland McGrath <roland@frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Append trailing / to RETRYNAME
- returned for absolute symlink when MUSTBEDIR is set.
- Reported by Moritz Schulte <moritz@duesseldorf.ccc.de>.
- Also, bcopy -> memcpy; avoid strcat.
-
-2001-10-30 Marcus Brinkmann <marcus@gnu.org>
-
- * dir-lookup.c (diskfs_S_dir_lookup): When looking up the next
- pathname component, remove assertion for DS and allocate DS if 0.
- Allow creation of files through symlink with non-existant target.
- From Roland McGrath <roland@frob.com>.
-
-2001-10-11 Roland McGrath <roland@frob.com>
-
- * dir-renamed.c (diskfs_rename_dir): Fix bogus assert.
- From Moritz Schulte <moritz@chaosdorf.de>.
-
-2001-10-01 Marcus Brinkmann <marcus@gnu.org>
-
- * file-getfh.c (diskfs_S_file_getfh): Fix tag of diskfs_fhandle.
- Submitted by Maurizio Boriani <baux@debian.org>.
-
-2001-08-22 Neal H Walfield <neal@cs.uml.edu>
-
- * opts-std-startup.c (startup_options): New compatibility
- option: bootflags, a hidden alias to multiboot-command-line.
- (parse_startup_opt): Bug fix.
-
-2001-08-20 Roland McGrath <roland@frob.com>
-
- * opts-std-startup.c: diskfs_boot_flags -> diskfs_boot_command_line.
- (OPT_BOOT_CMDLINE): Renamed from OPT_BOOTFLAGS.
- (startup_options): --bootflags -> --multiboot-command-line
- (parse_startup_opt): Parse it.
- * diskfs.h: diskfs_boot_flags -> diskfs_boot_command_line.
- (diskfs_boot_filesystem): New macro.
- * init-main.c (diskfs_init_main): Use it.
- * init-init.c (diskfs_init_diskfs): Likewise.
- * console.c (diskfs_console_stdio): Likewise.
- * boot-start.c (_diskfs_boot_privports): Likewise.
- (diskfs_start_bootstrap): Split boot_command_line into words and pass
- those arguments to init instead of diskfs_bootflags.
-
- * opts-std-startup.c (_diskfs_boot_pause): New variable.
- (OPT_BOOT_PAUSE): New macro.
- (startup_options): Add --boot-debug-pause.
- (parse_startup_opt): Parse it.
-
- * diskfs.h: Declare it.
- * boot-start.c (diskfs_start_bootstrap, start_execserver): Use it.
-
- * boot-start.c (diskfs_boot_init_program): New variable.
- * diskfs.h: Declare it.
- * boot-start.c (default_init): Variable removed.
- (diskfs_start_bootstrap): Use diskfs_boot_init_program instead
- of default_init or prompting under -i.
- * opts-std-startup.c (OPT_BOOT_INIT_PROGRAM): New macro.
- (startup_options): Add --boot-init-program.
- (parse_startup_opt): Parse it.
-
-2001-06-21 Neal H Walfield <neal@cs.uml.edu>
-
- * file-getcontrol.c (diskfs_S_file_getcontrol): When checking
- if we can give the control port out, use fshelp_iscontroller
- rather than doing the check by hand.
-
-2001-06-19 Roland McGrath <roland@frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Handle symlinks to "".
-
-2001-06-16 Roland McGrath <roland@frob.com>
-
- * file-set-trans.c (diskfs_S_file_set_translator): Add some parens.
-
-2001-04-01 Neal H Walfield <neal@cs.uml.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Use
- iohelp_create_empty_iouser.
- * fsys-getfile.c (diskfs_S_fsys_getfile): Use
- iohelp_create_complex_iouser.
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use
- new iohelp_reauth semantics.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Use
- new iohelp_create_iouser semantics.
- * protid-make.c (diskfs_finish_protid): Use
- iohelp_create_simple_iouser and new iohelp_dup_iouse
- semantics.
- * trans-callback.c (_diskfs_translator_callback2_fn):
- Use iohelp_create_simple_iouser.
-
-2001-06-15 Neal H Walfield <neal@cs.uml.edu>
-
- * file-set-trans.c (diskfs_S_file_set_translator): If
- FS_TRANS_ORPHAN is set, do not ask the active translator to go
- away, just disconnect it.
-
-2001-06-15 Roland McGrath <roland@frob.com>
-
- * Makefile (FSSRCS): Last change got botched in merging.
-
-2001-06-10 Neal H Walfield <neal@cs.uml.edu>
-
- * file-inv-trans.c: Remove this file, function no longer exists.
- * Makefile (FSSRCS): Remove reference to file-inv-trans.c.
-
-2001-05-13 Marcus Brinkmann <marcus@gnu.org>
-
- * file-exec.c: Initialize GID with st_gid rather than st_uid.
-
-2001-04-22 Neal H Walfield <neal@cs.uml.edu>
-
- * Makefile (OTHERSRCS): Add extern-inline.c.
- * diskfs.h (DISKFS_EXTERN_INLINE): New macro.
- (diskfs_spawn_first_thread): Update prototype to include the
- additional parameter, a demuxer.
- (diskfs_begin_using_protid_port): Moved and renamed function
- begin_using_protid_port from priv.h.
- (diskfs_end_using_protid_port): Moved and renamed function
- end_using_protid_port from priv.h.
- * extern-inline.c: New file.
- * fsmutations.h (FILE_INTRAN): Use new function name.
- (FILE_DESTRUCTOR): Likewise.
- (IO_INTRAN): Likewise.
- (IO_DESTRUCTOR): Likewise.
- * init-first.c: Include <hurd/ports.h>.
- (master_thread_function): Unnamed parameter is now the demuxer.
- Use that rather than diskfs_demuxer directly.
- (diskfs_spawn_first_thread): New parameter DEMUXER.
- * init-main.c (diskfs_init_main): Pass diskfs_demuxer to
- diskfs_spawn_first_thread to conform to new semantics.
- * priv.h (begin_using_protid_port): Moved to diskfs.h.
- (end_using_protid_port): Likewise.
-
-2001-04-14 Neal H Walfield <neal@cs.uml.edu>
-
- * node-create.c (diskfs_create_node): If we fail, set *NEWNODE
- to NULL; at least diskfs_S_dir_lookup depends on this behavior.
-
- * init-startup.c (diskfs_startup_diskfs): Use ERR, not errno, so
- we can actually read this variable in a debugger.
-
-2001-04-08 Neal H Walfield <neal@cs.uml.edu>
-
- * io-write.c (diskfs_S_io_write): Make local variable OFF an
- off_t and not an int.
- * io-read.c (diskfs_S_io_read): Likewise.
- * io-stat.c (diskfs_S_io_stat): Use memcpy, not bcopy.
-
-2001-04-01 Roland McGrath <roland@frob.com>
-
- * io-interrupt.c: Obsolete file removed.
- * Makefile (IOSRCS): Remove it from the list.
- Reported by Neal H Walfield <neal@cs.uml.edu>.
-
-2001-03-28 Neal H Walfield <neal@cs.uml.edu>
-
- * protid-rele.c: Doc typo fix.
-
- * shutdown.c: Move initialization of diskfs_fsys_lock from here ...
- * init-init.c: ... to here with the rest of the initialization
- code.
-
- * init-init.c: Do not initialize global variables to zero.
-
- * protid-rele: Doc fix.
- * node-nput.c: Likewise.
- * io-prenotify.c: Likewise.
-
- * dir-chg.c (diskfs_S_dir_notice_changes): Check what malloc
- returns.
- * peropen-make.c (diskfs_make_peropen): Likewise.
-
- * io-identity.c (diskfs_S_io_identity): Use INUM; that is what
- we bothered getting the lock for.
-
- * ports-noports.c, ports-clean.c, ports-soft.c, ports-idle.c,
- ports-consts.c: Dead files finally removed from cvs.
-
-2001-03-28 Marcus Brinkmann <marcus@gnu.org>
-
- * dir-lookup.c (diskfs_S_dir_lookup): New variable USER. Store new
- iouser in that variable and free it after creating the protid for
- DIRPORT.
- * trans-callback.c (_diskfs_translator_callback2_fn): Likewise.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise.
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Likewise.
-
-2001-02-25 Roland McGrath <roland@frob.com>
-
- * readonly-changed.c: New file.
- * Makefile (OTHERSRCS): Add it.
-
- * init-first.c: Include <stdlib.h> for exit decl.
-
-2001-01-30 Neal H Walfield <neal@cs.uml.edu>
-
- * diskfs.h: Fix comment (fsys_shutdown -> fsys_goaway).
-
-2001-01-07 Marcus Brinkmann <marcus@gnu.org>
-
- * diskfs.h: Make diskfs_dirstat_size const.
-
-2001-01-07 Marcus Brinkmann <marcus@gnu.org>
-
- * file-statfs.c: Include <string.h>.
-
-2000-12-26 Roland McGrath <roland@frob.com>
-
- * file-statfs.c (diskfs_S_file_statfs): Zero out the struct statfs
- before calling diskfs_set_statfs. Set f_namelen to diskfs_name_max
- after the call.
- * diskfs.h: Update comment.
-
-2000-12-02 Roland McGrath <roland@frob.com>
-
- * node-times.c (diskfs_set_node_times): Make individual flag checks
- race-proof so we don't lose any flag settings.
-
-2000-07-26 Mark Kettenis <kettenis@gnu.org>
-
- * Makefile (HURDLIBS): Reorder libs such that the threads lib
- comes before the ports lib. This makes sure the functions in
- libthreads properly override the stubs in libports with the new
- dynamic linker semantics in glibc 2.2.
-
-2000-07-18 Thomas Bushnell, BSG <tb@mit.edu>
-
- * io-seek.c (diskfs_S_io_seek): Don't use CHANGE_NODE_FIELD
- anymore; it was causing problems and was a gross hack anyway.
-
-2000-05-14 Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>
-
- * priv.h (DEFAULT_SYNC_INTERVAL): New macro.
- (DEFAULT_SYNC_INTERVAL_STRING): Likewise.
- (STRINGIFY): Likewise.
- (STRINGIFY_1): Likewise.
- * opts-common.h (diskfs_common_options): Use
- DEFAULT_SYNC_INTERVAL_STRING instead hardcoded value.
- * sync-default.h: Include "priv.h". Use DEFAULT_SYNC_INTERVAL
- instead hardcoded value.
-
-2000-04-29 Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>
-
- * init-main.c (diskfs_init_main): Dereference BOOTSTRAP before
- checking for MACH_PORT_NULL.
-
-2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
-
- * file-exec.c (diskfs_S_file_exec): Fix typo and braino in last change.
- * init-startup.c (diskfs_startup_diskfs): Fix braino in last change.
-
-2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
-
- * boot-start.c (diskfs_S_fsys_init, diskfs_start_bootstrap): Don't
- use MOVE_SEND in Hurd RPC.
-
- * file-exec.c (diskfs_S_file_exec): Don't use MAKE_SEND in Hurd
- RPC.
- * init-startup.c (diskfs_startup_diskfs, _diskfs_init_completed):
- Likewise.
-
-2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Use ports_get_send_right.
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use
- ports_get_send_right.
-
- * boot-start.c (diskfs_start_bootstrap): Use ports_get_send_right.
- (diskfs_execboot_fsys_startup): Use ports_get_send_right.
- (diskfs_S_fsys_init): Use ports_get_send_right.
- (start_execserver): Use ports_get_send_right.
-
-2000-02-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * file-exec.c (diskfs_S_file_exec): Give the new peropen for the exec
- server O_EXEC permission as well as O_READ.
-
-2000-01-25 Roland McGrath <roland@baalperazim.frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Follow symlink despite flags if
- MUSTBEDIR is set (i.e. there was a trailing slash).
-
-2000-01-24 Roland McGrath <roland@baalperazim.frob.com>
-
- * rdwr-internal.c (_diskfs_rdwr_internal): Short-circuit return for
- zero-length transfer to avoid side effects, as POSIX requires.
-
-1999-12-13 Roland McGrath <roland@baalperazim.frob.com>
-
- 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.
-
-1999-12-02 Mark Kettenis <kettenis@gnu.org>
-
- * io-read.c (diskfs_S_io_read): Add braces to silence gcc
- warning.
-
-1999-11-09 Roland McGrath <roland@baalperazim.frob.com>
-
- * priv.h (_diskfs_chroot_directory): Remove const from type.
- * init-startup.c (_diskfs_chroot_directory): Likewise.
-
-1999-11-08 Roland McGrath <roland@baalperazim.frob.com>
-
- * disk-pager.c (fault_handler): Put more detail in assert failures.
-
-1999-10-28 Roland McGrath <roland@baalperazim.frob.com>
-
- * 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.
-
-1999-10-23 Roland McGrath <roland@baalperazim.frob.com>
-
- * sync-interval.c (periodic_sync): With diskfs_fsys_lock reader lock
- held, check _diskfs_diskdirty and don't sync if not dirty.
-
-1999-10-14 Roland McGrath <roland@baalperazim.frob.com>
-
- * opts-std-startup.c (TOGGLE): Fix `off' case.
- Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
-
-1999-10-13 Roland McGrath <roland@baalperazim.frob.com>
-
- * 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.
-
-1999-10-12 Roland McGrath <roland@baalperazim.frob.com>
-
- * opts-std-runtime.c (parse_opt: ARGP_KEY_INIT): Initialize H->noatime.
-
-1999-10-11 Roland McGrath <roland@baalperazim.frob.com>
-
- * dir-readdir.c (diskfs_S_dir_readdir): Take new DATA_DEALLOC param.
-
-1999-10-07 Roland McGrath <roland@baalperazim.frob.com>
-
- * 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).
-
-1999-10-06 Thomas Bushnell, BSG <tb@mit.edu>
-
- * 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.
-
-1999-09-20 Thomas Bushnell, BSG <tb@mit.edu>
-
- * 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.
-
-1999-09-19 Roland McGrath <roland@baalperazim.frob.com>
-
- * 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.
-
-1999-09-13 Roland McGrath <roland@baalperazim.frob.com>
-
- * Makefile, rdwr-internal.c, io-map.c, io-map-segment.c, diskfs.h:
- Reverted changes related to io_map_segment.
-
-1999-09-09 Thomas Bushnell, BSG <tb@mit.edu>
-
- * io-pathconf.c: Include <unistd.h>.
- (diskfs_S_io_pathconf): Provide real definition.
-
-1999-09-07 Thomas Bushnell, BSG <tb@mit.edu>
-
- * 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.
-
-1999-07-24 Roland McGrath <roland@baalperazim.frob.com>
-
- * 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.
-
-1999-07-17 Roland McGrath <roland@baalperazim.frob.com>
-
- * 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).
-
-1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
-
- * boot-start.c (diskfs_S_exec_startup_get_info): Typo in last change.
-
-1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
-
- * priv.h: Add #include <sys/mman.h> for munmap decl.
-
-1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>
-
- * 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.
-
-Mon Jul 5 20:03:18 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * node-nputl.c (diskfs_nput_light): Fix typo in function
- declaration. Reported by Yamashita TAKAO
- (jargon@lares.dti.ne.jp).
-
-1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
-
- * 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.
-
-1999-07-01 Thomas Bushnell, BSG <tb@mit.edu>
-
- * 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.
-
-1999-06-29 Thomas Bushnell, BSG <tb@mit.edu>
-
- * dev-globals.c, dev-io.c, dev-open.c: Files removed.
-
- * lookup.c (diskfs_lookup): If we get an error from
- fshelp_checkdirmod, clear *NP as well as returning the error.
- Use diskfs_nrele instead of diskfs_nput in case *NP and DP are
- the same.
-
-1999-06-28 Thomas Bushnell, BSG <tb@mit.edu>
-
- * dir-rmdir.c (diskfs_S_dir_rmdir): Reorganized to make clearer;
- several little buglets fixed too.
-
-1999-06-27 Thomas Bushnell, BSG <tb@mit.edu>
-
- * sync-default.c (diskfs_default_sync_interval): Reduce to five
- seconds. Hardware is much different than when Unix originally
- picked thirty, plus we manage VM differently than the Unix buffer
- cache did, and tend to delay many more writes than Unix did.
-
-1999-06-13 Roland McGrath <roland@baalperazim.frob.com>
-
- * file-get-trans.c (diskfs_S_file_get_translator): Fix type cast in
- last change.
-
- * file-get-trans.c (diskfs_S_file_get_translator): If we return an
- error, vm_deallocate any vm_allocated memory.
- From Mark Kettenis <kettenis@gnu.org>.
-
-1999-06-02 Roland McGrath <roland@baalperazim.frob.com>
-
- * boot-start.c (diskfs_start_bootstrap): Pass environment collected
- from `environ' on to init. The kernel can send more parameters
- through this way without us knowing about them specifically.
-
-1999-05-19 Roland McGrath <roland@baalperazim.frob.com>
-
- * console.c (diskfs_console_stdio): If there is an fd 2 that appears
- to work, just leave it as is and dup2 it to fd 1 as well.
-
-1999-05-16 Roland McGrath <roland@baalperazim.frob.com>
-
- * file-chown.c (diskfs_S_file_chown): Fix last change: not just
- permission check, actually don't make the change if value is -1.
-
-1999-05-13 Roland McGrath <roland@baalperazim.frob.com>
-
- * file-chown.c (diskfs_S_file_chown): Either arg being -1 means don't
- change that id.
-
-Tue Apr 6 10:05:49 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * dir-renamed.c (diskfs_rename_dir): Stage 1, if TNP == FNP, we
- have to unlock TNP with diskfs_nput and not just diskfs_nrele it.
-
-Tue Mar 16 17:20:06 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * lookup.c (diskfs_lookup): Reformat for prettiness.
-
-1999-02-28 Roland McGrath <roland@baalperazim.frob.com>
-
- * io-revoke.c (diskfs_S_io_revoke): Use ports_class_iterate.
- * readonly.c (diskfs_set_readonly): Likewise.
-
-Mon Feb 22 04:28:56 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * io-revoke.c (diskfs_S_io_revoke): Protect the actual revocation
- by blocking all other rpcs.
-
-Sat Feb 20 20:46:21 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * io-revoke.c (diskfs_S_io_revoke): Release NP->lock before
- beginning iteration.
-
-1999-02-16 Roland McGrath <roland@baalperazim.frob.com>
-
- * io-revoke.c (diskfs_S_io_revoke): Fix typo in 1999-02-16 change.
-
- * init-startup.c (diskfs_startup_diskfs): Fix typo 1999-02-12 change.
-
-Tue Feb 16 05:31:23 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * io-revoke.c: New file.
- * Makefile (IOSRCS): Add io-revoke.c.
-
-Sat Feb 13 04:29:29 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * peropen-make.c (diskfs_make_peropen): If there is no existing
- context, then set the shadow_root iff we are a chrooted virtual
- root filesystem.
-
-1999-02-12 Gordon Matzigkeit <gord@trick.fig.org>
-
- * init-startup.c (diskfs_startup_diskfs): Release the virtual
- root's lock as soon as we've checked that it's a valid directory.
- Ignore leading slashes in _diskfs_chroot_directory.
-
-Sun Jan 31 18:24:33 1999 Thomas Bushnell, BSG <tb@mit.edu>
-
- * file-utimes.c (diskfs_S_file_utimes): Implement new semantics
- for setting to exactly present time.
-
-1999-01-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * Makefile (OTHERSRCS): Add init-main.c.
-
-1999-01-22 Roland McGrath <roland@baalperazim.frob.com>
-
- * init-main.c: New file, defining new function diskfs_init_main.
- * diskfs.h: Declare diskfs_init_main.
-
- * file-set-trans.c: Remove makedev, major, minor macro definitions.
- * dir-lookup.c: Likewise.
-
-1999-01-01 Roland McGrath <roland@baalperazim.frob.com>
-
- * sync-interval.c (diskfs_set_sync_interval): Use ENOMEM, not EIEIO.
-
-1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
-
- Use a struct hurd_port for the cached exec server port,
- so it is properly reference-counted and locked.
- * boot-start.c (diskfs_exec): Variable removed.
- (diskfs_start_bootstrap): Make it a local here.
- Install that port in _diskfs_exec_portcell.
- (diskfs_S_fsys_init): Use _diskfs_exec_portcell instead
- of diskfs_exec.
- * init-init.c (_diskfs_exec_portcell): New variable.
- (diskfs_init_diskfs): Initialize it.
- * priv.h: Declare it.
- * diskfs.h (diskfs_exec, diskfs_exec_ctl): Remove decls.
- * file-exec.c (diskfs_S_file_exec): Use _diskfs_exec_portcell instead
- of diskfs_exec.
-
- * init-completed.c: File removed (obsolete since 1996).
-
- * boot-start.c (diskfs_start_bootstrap): Twiddle boot-time messages.
-
-1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * boot-start.c (_diskfs_boot_privports): Renamed from diskfs_*.
-
- * priv.h: Declare it.
- * console.c (diskfs_console_stdio): Change caller.
-
- * file-statfs.c (diskfs_S_file_statfs): Remove __ from struct members.
-
-1998-12-21 Mark Kettenis <kettenis@phys.uva.nl>
-
- * file-statfs.c (diskfs_S_file_statfs): Initialize mount options
- in statbuf.
-
-1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
-
- * opts-std-startup.c (startup_options): Move -C above "Boot options:",
- give it a docstring. Docstrings for --bootflags, --boot-command.
- (_diskfs_boot_command): New variable.
- (startup_options, parse_startup_opt): New option --boot-command,
- consumes remaining args to set _diskfs_boot_command.
- * priv.h: Declare _diskfs_boot_command.
- * boot-start.c (diskfs_start_bootstrap): If diskfs_exec_server_task is
- null, assume we are running as the boot command and have a root with
- /servers/exec.
- If _diskfs_boot_command is set, start that command in place of init.
- If can't lookup initname, print error msg and loop to prompt.
- Put a newline before "Init name" prompt.
- After starting exec server, try to set active trans on /servers/exec.
- (diskfs_boot_getpriv): New function: if _hurd_host_priv
- is null, use fsys_getpriv on our bootstrap port.
- (parent_task): New static variable, set there with fsys_getpriv call.
- (diskfs_S_fsys_init): If diskfs_exec_server_task is null, don't do
- anything with it; instead register parent_task as our child
- and send an fsys_init to our parent on our bootstrap port.
- * console.c (diskfs_console_stdio): Call diskfs_boot_privports before
- get_privileged_ports if diskfs_boot_flags is set.
-
-1998-12-21 Roland McGrath <roland@baalperazim.frob.com>
-
- * file-exec.c (diskfs_S_file_exec): If exec server port is stale, try
- once to look up a new one.
-
-1998-12-06 Roland McGrath <roland@baalperazim.frob.com>
-
- * boot-parse.c: File removed (it has been obsolete since 1995).
-
-1998-11-29 Roland McGrath <roland@baalperazim.frob.com>
-
- * trans-callback.c (_diskfs_translator_callback1_fn): Use size_t*
- instead of int* for ARGZ_LEN arg.
-
-1998-11-25 Mark Kettenis <kettenis@phys.uva.nl>
-
- * boot-start.c (diskfs_S_fsys_init): Call _hurd_proc_init with new
- args set to zero.
-
-Wed Aug 12 23:35:59 1998 Thomas Bushnell, BSG <tb@mit.edu>
-
- * file-chflags.c (diskfs_S_file_chflags): Only set
- NP->dn_set_ctime if we actually set the flags.
-
-1998-10-26 Gordon Matzigkeit <gord@trick.fig.org>
-
- * init-startup.c (diskfs_startup_diskfs): Use diskfs_nput to free
- the old diskfs_root_node when switching to a virtual root.
-
-1998-10-20 Roland McGrath <roland@baalperazim.frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Add braces to silence gcc
- warning.
- * io-identity.c (diskfs_S_io_identity): Likewise.
- * opts-append-std.c (diskfs_append_std_options): Likewise.
- * opts-std-runtime.c (set_opts): Likewise.
-
-1998-09-04 Roland McGrath <roland@baalperazim.frob.com>
-
- * diskfs.h (diskfs_lookup_hard, diskfs_lookup,
- diskfs_set_translator, diskfs_create_symlink_hook,
- diskfs_notice_dirchange, diskfs_direnter, diskfs_direnter_hard,
- diskfs_dirrewrite, diskfs_dirremove,
- diskfs_create_node, diskfs_enter_lookup_cache,
- diskfs_check_lookup_cache, dir_rename_dir, diskfs_set_options):
- Add `const' qualifier to `char *' parameters where appropriate.
- * opts-set.c (diskfs_set_options): Fix defn with `const'.
- * node-create.c (diskfs_create_node): Likewise.
- * name-cache.c (diskfs_enter_lookup_cache): Likewise.
- (diskfs_check_lookup_cache): Likewise.
- * dirremove.c (diskfs_dirremove): Likewise.
- * dirrewrite.c (diskfs_dirrewrite): Likewise.
- * lookup.c (diskfs_lookup): Likewise.
- * direnter.c (diskfs_direnter): Likewise.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
- * dir-chg.c (diskfs_notice_dirchange): Likewise.
-
-1998-04-04 Roland McGrath <roland@baalperazim.frob.com>
-
- Add support for a "virtual root directory" specified at startup.
- * priv.h (_diskfs_chroot_directory): Declare new variable.
- * opts-std-startup.c (startup_options, parse_startup_opt): New
- string-valued option -C/--directory/--virtual-root/--chroot sets
- _diskfs_chroot_directory.
- * init-startup.c (_diskfs_chroot_directory): New variable.
- (diskfs_startup_diskfs): If that's set, look up the name and
- warp us to that as a virtual root directory.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Initialize new peropen's
- shadow_root_parent to null, and shadow_root to either null or,
- if _diskfs_chroot_directory is set, to diskfs_root_node.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Treat a shadow_root with null
- shadow_root_parent as a "virtual root".
-
-1998-08-20 Roland McGrath <roland@baalperazim.frob.com>
-
- * fsys-options.c (diskfs_S_fsys_get_options):
- fshelp_return_malloced_buffer renamed to iohelp_*.
- * file-get-fs-opts.c (diskfs_S_file_get_fs_options): Likewise.
-
-Tue Aug 11 16:17:49 1998 Thomas Bushnell, BSG <tb@mit.edu>
-
- * file-chflags.c (diskfs_S_file_chflags): Set NP->dn_set_ctime.
-
- * file-utimes.c (diskfs_S_file_utimes): Add file notifications.
-
-Sun Aug 9 21:09:24 1998 Jose M. Moya <josem@gnu.org>
-
- * diskfs.h (struct node): Add filemod_reqs member.
- (struct modreq): Rename struct dirmod to reqmod as it is used for
- directory and file notifications.
- (diskfs_notice_filechange): Add prototype.
- * dir-chg.c (diskfs_S_dir_notice_changes): Check
- nowait_dir_changed return value for errors.
- (diskfs_notice_dirchange): Remove requests when the notification
- fails.
- * file-chg.c (diskfs_S_file_notice_changes): Implement.
- (diskfs_notice_filechange): New function.
- * node-make.c (diskfs_make_node): Initialize filemod_reqs.
- * node-drop.c (free_modreqs): New function.
- (diskfs_drop_node): Free filemod_reqs.
- * file-chauthor.c (dithkfth_TH_file_chauthor): Add file
- notifications.
- * file-chflags.c (diskfs_S_file_chflags): Likewise.
- * file-chmod.c (diskfs_S_file_chmod): Likewise.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * file-set-size.c (diskfs_S_file_set_size): Likewise.
- * io-prenotify.c (diskfs_S_io_prenotify): Likewise.
- * io-write.c (diskfs_S_io_write): Likewise.
- * node-rdwr.c (diskfs_node_rdwr): Likewise.
-
-Sat Aug 8 17:01:58 1998 Thomas Bushnell, BSG <tb@mit.edu>
-
- * boot-start.c (diskfs_S_fsys_init): __vm_allocate -> vm_allocate
- and __mach_task_self -> mach_task_self. Reported by Mark Kettenis
- (kettenis@phys.uva.nl).
-
-1998-07-25 Roland McGrath <roland@baalperazim.frob.com>
-
- * shutdown.c (diskfs_shutdown): Sync and set the clean flag even if we
- don't shut down. Thus a disk that was in use but hadn't been touched
- recently needn't necessarily be checked after a system crash.
-
-1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
-
- * dir-lookup.c (diskfs_S_dir_lookup: short_circuited_callback1): Fix
- type of arg `argz_len' to use size_t *.
-
-Tue Jul 14 16:27:00 1998 Thomas Bushnell, n/BSG <tb@mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Don't require the node to be
- a directory in the null pathname case. (Thus reverting one of the
- changes of June 15, 1994.)
-
-Mon Jun 29 18:54:23 1998 Thomas Bushnell, n/BSG <tb@mit.edu>
-
- * lookup.c (diskfs_lookup): If NAME is empty, return an error.
-
-Tue May 12 12:08:35 1998 Thomas Bushnell, n/BSG <tb@mit.edu>
-
- * file-get-trans.c (diskfs_S_file_get_translator) [S_ISCHR ||
- S_ISBLK]: Free BUF after using it. Reported by Katusya Tanaka
- (wyvern@pb3.so-net.ne.jp).
-
-Tue Sep 23 15:28:57 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * file-reparent.c (diskfs_S_file_reparent): Use diskfs_nrele
- instead of protocol-violating up-tree lock.
- * peropen-rele.c (diskfs_release_peropen): Likewise.
-
-1997-09-18 Miles Bader <miles@gnu.ai.mit.edu>
-
- * priv.h (fs_control_port): Declaration removed.
- (_diskfs_nosuid, _diskfs_noexec): Renamed from nosuid & noexec.
- * init-init.c: Prepend "_diskfs" to uses of NOSUID & NOEXEC.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * opts-std-startup.c (parse_startup_opt): Likewise.
- * opts-std-runtime.c (set_opts): Likewise.
- (OPT_EXEC_OK, OPT_SUID_OK): Rename definitions from ..._OPT.
-
-1997-09-16 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-append-std.c (diskfs_append_std_options): Add --no-suid and
- --no-exec options. Don't deallocate ARGZ when we get an error.
-
-Tue Sep 16 14:37:51 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * opts-append-std.c (diskfs_append_std_options): Add --no-suid and
- --no-exec when appropriate.
- * priv.h (nosuid, noexec): New variables.
- * init-init.c (nosuid, noexec): New variables, initialized to zero.
- * file-exec.c (diskfs_S_file_exec): If noexec is on, then prohibit
- all execution with EACCES. If nosuid is on, then prohibit setuid
- or setgid execution by silently omitting the uid substitution.
- * opts-std-startup.c (parse_startup_opt): Implement --no-suid and
- --no-exec.
- * opts-common.c (diskfs_common_options): Add --no-suid and
- --no-exec.
- * opts-std-runtime.c (struct parse_hook): Add nosuid and noexec.
- (parse_opt) [cases 'S', 'E', OPT_SUID_OK, OPT_EXEC_OK] Understand
- --no-suid, --no-exec, --suid-ok, and --exec-ok.
- (parse_opt) [case ARGP_KEY_INIT]: Initialize H->nosuid and
- H->noexec.
- (OPT_SUID_OK, OPT_EXEC_OK): New macros.
- (std_runtime_options): Add --suid-ok and --exec-ok.
- (set_opts): Set nosuid and noexec from H->nosuid and H->noexec.
-
- * opts-common.c (diskfs_common_options): Rename --nosync to
- --no-sync; leave --nosync as an alias.
-
-Wed Aug 20 14:03:41 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * diskfs.h: Doc fix.
-
- * io-map.c (diskfs_S_io_map): Cope with error return from
- diskfs_get_filemap.
- * rdwr-internal.c (_diskfs_rdwr_internal): Likewise.
-
- * disk-pager.c (service_paging_requests): New args for
- ports_manage_port_operations_multithread.
- * init-first.c (master_thread_function): Likewise.
-
-1997-08-19 Miles Bader <miles@gnu.ai.mit.edu>
-
- * filedev.c, machdev.c: Files removed.
-
-Thu Jul 24 12:57:26 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * name-cache.c (find_cache): Grammar doc fix.
-
-1997-07-10 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-std-runtime.c (parse_opt): Turn off synchronous mode when
- setting a sync interval.
-
-Mon Jul 7 16:25:49 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * file-exec.c: Include <fcntl.h> instead of <fcntlbits.h>.
- Suggested by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).
-
-Mon Jun 30 17:26:38 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_hard_readonly): New variable.
- (diskfs_readonly): Doc change.
- * readonly.c (diskfs_readonly): Provide initialized declaration.
- (diskfs_check_readonly): If we cannot write the media and so we
- switch to readonly, set diskfs_hard_readonly too.
- (diskfs_set_readonly): If diskfs_hard_readonly is set, then
- inhibit any attempt to clear readonly status.
-
-1997-06-23 Miles Bader <miles@gnu.ai.mit.edu>
-
- * peropen-make.c (diskfs_make_peropen): Initialize the
- ROOT_PARENT, SHADOW_ROOT, and SHADOW_ROOT_PARENT fields.
-
-1997-06-09 Miles Bader <miles@gnu.ai.mit.edu>
-
- * io-stat.c (diskfs_S_io_stat): Use fshelp_translated rather than
- fshelp_fetch_control.
-
-Fri Jun 6 11:42:14 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * Makefile (LCLHDRS): Add fhandle.h.
-
-Tue May 27 11:55:56 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * file-chmod.c (diskfs_S_file_chmod): Turn off S_ITRANS bits too.
-
-Mon Feb 24 17:22:05 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * io-identity.c (diskfs_S_io_identity): Pass CRED's shadow root
- inode number to fshelp_get_identity when creating a shadow root
- fsid, not INUM.
-
-Mon Feb 24 14:40:02 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * dir-rmdir.c (diskfs_S_dir_rmdir): Check EBUSY-when-translated
- error before ENOTDIR-when-not-dir.
-
-Sat Feb 22 00:00:32 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * io-stat.c (diskfs_S_io_stat): Mark shadow roots with S_IROOT.
- * io-identity.c (diskfs_S_io_identity): Return different fsys ids
- for different shadow roots.
-
- * peropen-rele.c (diskfs_release_peropen): Don't deadlock if PO's
- shadow_root is also it's node.
- * file-reparent.c (diskfs_S_file_reparent): Don't release a
- reference to any old shadow_root if it was == NODE. Don't aquire
- a new reference for NODE.
-
-Fri Feb 21 17:12:04 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-init.c (diskfs_init_dir): Use CRED->po as LOOKUPCRED's po,
- so that root detection works (and doesn't crash).
-
-Thu Feb 20 00:43:38 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * io-read.c (diskfs_S_io_read): Support reading from sylinks.
- * dir-lookup.c (diskfs_S_dir_lookup): Allow symlinks to be opened
- for O_READ.
-
-Thu Feb 13 19:27:16 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-rename.c (diskfs_S_dir_rename): Return EXDEV if FROMCRED and
- TOCRED are in different shadow trees.
-
- * file-reparent.c (diskfs_S_file_reparent): New function, from
- dir-reparent.c.
- * dir-reparent.c: File removed.
- * Makefile (FSSRCS): dir-reparent.c replaced by file-reparent.c.
-
-Wed Feb 12 14:23:15 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * peropen-make.c (diskfs_make_peropen): Add & use CONTEXT param.
- Remove DOTDOT & DEPTH params.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Pass a prototype peropen
- instead of the dotdotport and depth to diskfs_make_peropen.
- * fsys-getfile.c (diskfs_S_fsys_getfile): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * dir-reparent.c (diskfs_S_dir_reparent): Likewise.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
- * boot-start.c (diskfs_start_bootstrap): Likewise.
- (diskfs_S_exec_startup_get_info): Likewise.
- (diskfs_execboot_fsys_startup): Likewise.
- (diskfs_S_fsys_init): Likewise.
- * trans-callback.c (_diskfs_translator_callback2_fn): Pass COOKIE
- directly to diskfs_make_peropen instead of unpacking each arg.
- * priv.h (struct diskfs_trans_callback_cookie2): Type removed.
- * dir-lookup.c (diskfs_S_dir_lookup): Use DIRCRED->po as the
- cookie for fshelp_fetch_root instead of a local structure.
- * diskfs.h (diskfs_lookup): Remove DEPTH & NEW_DEPTH params.
- * dir-lookup.c (diskfs_S_dir_lookup): Get rid of DEPTH variable.
- Get rid of depth parameters to diskfs_lookup.
- Deal properly with EAGAIN return from diskfs_lookup.
- Replace references to dotdotport with root_parent.
- * dir-unlink.c (diskfs_S_dir_unlink): Don't pass depth args to
- diskfs_lookup.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
- * dir-renamed.c (diskfs_rename_dir, checkpath): Likewise.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
- * dir-mkdir.c (diskfs_S_dir_mkdir): Likewise.
- * dir-link.c (diskfs_S_dir_link): Likewise.
- * dir-init.c (diskfs_init_dir): Likewise.
- * dir-clear.c (diskfs_clear_directory): Likewise.
- * lookup.c (diskfs_lookup): Remove DEPTH & NEW_DEPTH params.
- Check CRED->po->shadow_root for root traversals, and get rid of assert
- that EAGAIN isn't returned from diskfs_lookup_hard.
- * diskfs.h (struct peropen):
- Add shadow_root_parent & shadow_root fields.
- Removed depth field.
- Rename dotdotnode field to root_parent.
- * peropen-rele.c (diskfs_release_peropen): Finalize new state.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Remove O_EXLOCK & O_SHLOCK
- from FLAGS mask, now that they're included in O_HURD.
-
-Thu Feb 6 02:17:35 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * io-write.c (diskfs_S_io_write): Check OFF for validity and
- return EINVAL if it's bogus.
- * io-read.c (diskfs_S_io_read): Likewise.
-
- * dir-mkfile.c (diskfs_S_dir_mkfile): New file's depth is one
- greater than CRED's.
-
- * file-getfh.c (diskfs_S_file_getfh): Implement (code from ufs).
- * fsys-getfile.c (diskfs_S_fsys_getfile): Likewise.
- * fhandle.h: New file.
-
-Wed Feb 5 16:06:26 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-reparent.c (diskfs_S_dir_reparent): Implement.
-
- * lookup.c (diskfs_lookup): Add DEPTH & NEW_DEPTH arguments.
- Implement new fs-root detection using them.
- * diskfs.h (diskfs_lookup): Add DEPTH & NEW_DEPTH arguments.
- * dir-link.c (diskfs_S_dir_link): Supply DEPTH & NEW_DEPTH
- arguments to diskfs_lookup.
- * dir-clear.c (diskfs_clear_directory): Likewise.
- * dir-init.c (diskfs_init_dir): Likewise.
- * dir-renamed.c (checkpath, diskfs_rename_dir): Likewise.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
- * dir-mkdir.c (diskfs_S_dir_mkdir): Likewise.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
- * dir-unlink.c (diskfs_S_dir_unlink): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
- Add DEPTH variable.
- * dir-link.c (diskfs_S_dir_link): Translate EAGAIN (meaning root's
- parent) to EINVAL.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
-
- * diskfs.h (struct peropen): Add DEPTH field.
- (diskfs_make_peropen): Add DEPTH argument.
- * peropen-make.c (diskfs_make_peropen): Add & use DEPTH argument.
- * boot-start.c (diskfs_start_bootstrap,
- diskfs_S_exec_startup_get_info, diskfs_execboot_fsys_startup,
- diskfs_S_fsys_init): Supply DEPTH argument to diskfs_make_peropen.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
- * priv.h (struct diskfs_trans_callback_cookie2): New type.
- * trans-callback.c (_diskfs_translator_callback2_fn): Expect
- COOKIE2 to be a pointer to a struct diskfs_trans_callback_cookie2,
- and use that to pass args to diskfs_make_peropen.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Pass new type of cookie2 to
- fshelp_fetch_root, as expected by _diskfs_translator_callback2.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
-
-Mon Jan 20 16:18:00 1997 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-reparent.c (diskfs_S_dir_reparent): New file.
- * Makefile (FSSRCS): Add dir-reparent.c.
-
- * disk-pager.c (preemptor): Renamed from `preempter'; type & init
- changed as well.
- (diskfs_start_disk_pager): `preempter' -> `preemptor'.
- * diskfs-pager.h: Doc fix.
-
-Tue Nov 19 18:21:12 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (struct node): Add author_tracks_uid field.
- * file-chown.c (diskfs_S_file_chown): If NP->author_tracks_uid,
- modify NP->dn_stat.st_author as well.
- * node-create.c (diskfs_create_node): Likewise.
-
-Mon Nov 18 17:02:22 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (struct node): Remove istranslated field.
- * io-stat.c (diskfs_S_io_stat): Set S_IATRANS & S_IROOT bits in
- st_mode field of returned buffer if appropiate.
- * dir-lookup.c (diskfs_S_dir_lookup): Use S_IPTRANS bit in dn_stat
- st_mode field rather than istranslated field.
- * file-get-trans.c (diskfs_S_file_get_translator): Likewise.
- * file-set-trans.c (diskfs_S_file_set_translator): Likewise.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * node-drop.c (diskfs_drop_node): Likewise.
- * trans-callback.c (_diskfs_translator_callback1_fn): Likewise.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
-
- * file-get-transcntl.c (diskfs_S_file_get_translator_cntl): Use
- MACH_MSG_TYPE_MOVE_SEND to return *ctl, rather than COPY.
- (diskfs_S_file_get_translator_cntl): Correctly test for errors
- from fshelp_fetch_control.
-
-Fri Nov 15 14:06:16 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * protid-make.c (diskfs_finish_protid): Fix typo.
-
- * file-chown.c (diskfs_S_file_chown): Look for UID, not CRED in
- the uid set.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Make the unauthenticated
- port correctly.
-
-Thu Nov 14 13:07:37 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * dir-init.c (diskfs_init_dir): New vars VEC and USER; fabricate
- LOOKUPCRED to correspond to new structure definitions.
-
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Declare I and
- add a missing semicolon.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Eliminate PSEUDOCRED
- entirely. Fix unrelated typo.
-
- * file-chauthor.c (dithkfth_TH_file_chauthor): Fix first arg in
- call to fthhelp_ithowner.
-
-Tue Nov 12 22:45:07 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * diskfs.h: Correctly close comment.
-
-Thu Nov 7 14:49:19 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): If CRED has
- root, use the requested id sets verbatim.
-
-Thu Nov 7 01:03:11 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * protid-rele.c (diskfs_protid_rele): Free CRED->user.
-
-Wed Nov 6 17:55:17 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_isuid, diskfs_groupmember, diskfs_isowner,
- diskfs_access, diskfs_checkdirmod): Delete functions.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Replace PSEUDOCRED with
- a real iouser and specify that in the relevant calls.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Reworked to use
- idvecs.
- * file-chmod.c (diskfs_S_file_chmod): diskfs_isuid ->
- idvec_contains.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Likewise.
- * file-chmod.c (diskfs_S_file_chmod): diskfs_groupmember ->
- idvec_contains.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * node-create.c (diskfs_create_node): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): diskfs_isowner ->
- fshelp_isowner.
- * file-chflags.c (diskfs_S_file_chflags): Likewise.
- * file-chmod.c (diskfs_S_file_chmod): Likewise.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * file-get-transcntl.c (diskfs_S_file_get_translator_cntl):
- Likewise.
- * file-set-trans.c (diskfs_S_file_set_translator): Likewise.
- * file-utimes.c (diskfs_S_file_utimes): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * lithp.h (dithkfth_ithowner): Deleted macro.
- (fthhelp_ithowner, uther): New macros.
- * file-chauthor.c (dithkfth_TH_file_chauthor): dthkfth_ithowner ->
- fthhelp_ithowner.
- * dir-lookup.c (diskfs_S_dir_lookup): diskfs_access ->
- fshelp_access.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * file-access.c (diskfs_S_file_check_access): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise (in dead code).
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Likewise.
- * lookup.c (diskfs_lookup): Likewise.
- (diskfs_lookup): diskfs_checkdirmod -> fshelp_checkdirmod.
- * dir-lookup.c (diskfs_S_dir_lookup): New arg format for
- fshelp_fetch_root.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * diskfs.h, protid-make.c (diskfs_create_protid): Delete args
- `uids', `gids', `nuids', and `ngids'. Replace with new arg
- `user'. All callers changed.
- (diskfs_finish_protid): Likewise.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Use
- CRED->user instead of old fields.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise.
- * node-create.c (diskfs_create_node): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise. Use idvec_merge
- instead of idvec_merge_ids, now that it's convenient.
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use new
- iohelp_reauthenticate.
-
-Tue Nov 5 21:10:18 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * diskfs.h: Include <idvec.h>.
- (struct protid): Delete members `uids', `gids', `nuids' and
- `ngids'. New member `user'.
-
-Thu Oct 24 15:56:30 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-std-startup.c (store_argp_children, startup_argp_children):
- New variables.
- (store_argp_parents, startup_argp_children): Variable removed.
- (diskfs_store_startup_argp): Use STORE_ARGP_CHILDREN instead of
- STORE_ARGP_PARENTS.
- (diskfs_startup_argp): Use STARTUP_ARGP_CHILDREN instead of
- STARTUP_ARGP_PARENTS.
- * opts-std-runtime.c (children): New variable.
- (parents): Variable removed.
- (diskfs_std_runtime_argp): Use CHILDREN instead of PARENTS.
-
-Mon Oct 21 21:54:34 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * diskfs.h: Add extern inline protection.
- * diskfs.c: New file.
- * Makefile (OTHERSRCS): Add diskfs.c.
-
-Fri Oct 11 21:55:45 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Temporarily add O_EXLOCK and
- O_SHLOCK to the set of retained flags, until they get added to O_HURD.
- Turn off OPENONLY_STATE_MODES bits in the flags we pass to
- diskfs_make_peropen, not everything *but* them!
- * priv.h (OPENONLY_STATE_MODES): Add O_EXLOCK & O_SHLOCK.
-
-Thu Oct 10 17:22:06 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Frob lock in NEWPI->po, not PO.
- Free NEWPI if we get an error trying to lock it.
- <sys/file.h>: New include.
-
-Thu Oct 10 17:11:05 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Implement O_SHLOCK and
- O_EXLOCK directly here.
-
-Thu Oct 10 10:53:28 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * peropen-rele.c (diskfs_release_peropen): Before freeing PO,
- release any user lock it's holding.
- <sys/file.h>: New include.
-
-Tue Oct 8 15:01:32 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Write permission governs
- access to sockets, not read permission.
-
-Mon Oct 7 14:50:04 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-rmdir.c (diskfs_S_dir_rmdir): Return ENOTDIR if NP isn't a dir.
-
-Tue Sep 24 23:51:37 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c (_print_version): Follow version string with newline.
-
-Thu Sep 19 17:59:37 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * Makefile (HURDLIBS): Add store.
-
-Wed Sep 18 15:02:31 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c (_print_version): Change to use new version
- format from the coding standards.
-
- * opts-std-runtime.c (std_runtime_options): Change --remount to
- --update (keep --remount as a deprecated alias).
- <argp.h>: New include.
- * opts-append-std.c <stdio.h>: New include.
- * dir-lookup.c <stdio.h>: New include.
-
-Fri Sep 13 19:15:45 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * file-get-fs-opts.c (diskfs_S_file_get_fs_options): Free ARGZ if
- diskfs_append_args returns an error.
- * fsys-options.c (diskfs_S_fsys_get_options): Likewise.
-
-1996-09-12 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_disk_name): New declaration.
- * readonly.c (diskfs_check_readonly): Use DISKFS_DISK_NAME
- instead of DISKFS_DEVICE_ARG.
- * init-startup.c (_diskfs_init_completed): Likewise.
-
-Wed Sep 11 17:25:14 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * disk-pager.c (diskfs_start_disk_pager): Renamed from
- setup_disk_pager.
- Add PAGER_BUCKET, IMAGE, and SIZE arguments.
- Pass in PAGER_BUCKET to thread routine, and don't create it.
- (diskfs_disk_pager): Renamed from disk_pager.
- (disk_image): Variable removed.
- (pager_bucket): Declaration removed.
- (service_paging_requests): Get PAGER_BUCKET from argument.
- * diskfs-pager.h (diskfs_start_disk_pager): Renamed from
- disk_pager_setup.
- Add PAGER_BUCKET, IMAGE, and SIZE arguments.
- (diskfs_disk_pager): Renamed from disk_pager.
- (disk_image, pager_bucket): Declarations removed.
-
-Mon Sep 9 10:54:58 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * fsys-options.c (diskfs_S_fsys_get_options): Initialize ARGZ &
- ARGZ_LEN to the program name, and call diskfs_append_args instead
- of diskfs_get_options.
- * file-get-fs-opts.c (diskfs_S_file_get_fs_options): Likewise.
- <argz.h>: New include.
- * diskfs.h (diskfs_append_args): Renamed from diskfs_get_options.
- * opts-get.c (diskfs_append_args): Likewise.
- * opts-std-startup.c <hurd/store.h>: New include.
- (store_argp_parents): Use diskfs_startup_argp, not
- diskfs_std_startup_argp.
- * Makefile (libdiskfs.so): Depend on libstore.so.
-
- * opts-version.c <argp.h>, <stdio.h>: New includes.
- (_print_version): Test diskfs_extra_version against 0 too.
- * io-version.c <stdio.h>: New include.
- (diskfs_S_io_server_version): Use snprintf instead of sprintf.
-
-Sun Sep 8 18:19:50 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h <argp.h>: Include removed.
- (struct argp): New (incomplete) declaration.
- (diskfs_get_file_device, diskfs_get_mach_device): Declarations removed.
- (diskfs_startup_argp): Renamed from diskfs_std_startup_argp.
- (diskfs_store_startup_argp): Renamed from
- diskfs_std_device_startup_argp.
- (diskfs_device_arg, diskfs_use_mach_device, diskfs_device_open,
- diskfs_device, diskfs_device_name, diskfs_device_start,
- diskfs_device_size, diskfs_device_block_size,
- diskfs_log2_device_block_size, diskfs_log2_device_blocks_per_page,
- diskfs_device_write_sync, diskfs_device_read_sync): Declarations
- removed.
- * opts-std-startup.c (diskfs_use_mach_device, diskfs_device_arg,
- dev_startup_options, dev_startup_argp_parents,
- diskfs_std_device_startup_argp): Variables removed.
- (parse_dev_startup_opt): Function removed.
- (diskfs_startup_argp): Renamed from diskfs_std_startup_argp.
- * Makefile (OTHERSRCS): Remove filedev.c, machdev.c, dev-open.c,
- dev-io.c, & dev-globals.c.
-
-Thu Sep 12 16:22:27 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * Makefile: New variable.
- (libdiskfs.so): Delete special depedency.
-
-Thu Sep 5 11:13:54 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * io-version.c (diskfs_S_io_server_version): Only fill in
- SERVER_NAME; ignore the rest.
-
- * diskfs.h (diskfs_major_version, diskfs_minor_version,
- diskfs_edit_version): Delete variables.
- (diskfs_server_version, diskfs_extra_version): New variables.
- * boot-start.c (diskfs_S_fsys_init): Register version from
- diskfs_server_version; pass empty string as release.
- * extra-version.c: New file.
- * Makefile (OTHERSRCS): Add extra-version.c.
- * opts-version.c: Include <version.h>.
- (diskfs_extra_version): Delete special declaration.
- (_print_version): Use the user's provided version number, and also
- give it our (libdiskfs) version number.
-
-Tue Sep 3 10:48:05 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * name-cache.c (diskfs_enter_lookup_cache): Cache `.' and `..'
- just like other nodes.
- (diskfs_check_lookup_cache): If we get a cache hit on `..', then
- do the inverse locking semantic, and only return success if things
- are stable around the call.
-
-Fri Aug 30 21:57:18 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * lookup.c (cache_misses): New variable, to find out what sort of
- thing all the cache misses are.
- (cm_lock): New variable.
- (diskfs_lookup): Keep track of cache misses in cache_misses.
-
- * name-cache.c (MAXCACHE): 200 now. After experimentation, this
- appears to be a pretty good value. Very little benefit after
- this.
-
-Fri Aug 30 20:41:27 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * name-cache.c (struct lookup_cache): Delete member `hits'.
- New member `stati'.
- (diskfs_enter_lookup_cache): Don't initialize C->hits.
- (find_cache): Set C->stati before returning.
- (build_partial): Delete function.
- (diskfs_check_lookup_cache): Delete calls to build_partial.
- Register all statistics through register_neg_hit,
- register_pos_hit, and register_miss.
- (MAXCACHE): 2000 now.
-
-Wed Aug 28 12:20:53 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * name-cache.c (MAXCACHE): 500 for now.
-
-Mon Aug 26 15:10:55 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * name-cache.c (MAXCACHE): Increase to 50000.
- (struct lookup_cache): New member `hits'.
- (statistics): Name struct type `struct stats'.
- (diskfs_enter_lookup_cache): Initialize C->hits.
- (PARTIAL_THRESH, NPARTIALS): New macros.
- (partial_stats): New variable.
- (build_partial): New function.
- (diskfs_check_lookup_cache): Call build_partial after statistics
- frobbing.
-
- * name-cache.c (diskfs_check_lookup_cache): Increment members of
- statistics while still holding CACHE_LOCK.
-
-Fri Aug 16 18:23:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * name-cache.c (diskfs_check_lookup_cache): Keep track of negative
- hits properly.
- * lookup.c (diskfs_lookup): On LOOKUPs that fail to find the node,
- enter a negative cache entry.
-
-Thu Aug 15 16:07:23 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c (diskfs_extra_version): New (weak) reference.
- (_print_version): Use DISKFS_EXTRA_VERSION. Tweak edit version.
- Fix type of EV.
-
-Thu Aug 15 16:38:41 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * io-identity.c (diskfs_S_io_identity): Don't hold lock around
- call to fshelp_get_identity.
-
-Mon Aug 12 15:54:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c (_print_version): Print the edit version too if
- it's non-zero.
-
-Thu Aug 8 18:18:09 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * readonly.c: Include <error.h>.
-
-Wed Aug 7 13:53:56 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * readonly.c (diskfs_check_readonly): If we get an error from
- diskfs_hypermetadata, then switch to readonly.
- * diskfs.h (diskfs_set_hypermetadata): Require an error code return.
- * dev-io.c (diskfs_device_write_sync): If we get D_READ_ONLY, then
- return EROFS to the caller instead of EIO.
-
- * node-create.c (diskfs_create_node): New files always copy GID
- from their parent; that's NetBSD's behavior, and it's good enough
- for me.
-
-Thu Aug 1 17:24:08 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
-
- * file-get-transcntl.c (diskfs_S_file_get_translator_cntl): Don't
- diskfs_nput NP; we've never created a reference. Just unlock it.
- (And bother to lock it in the first place.)
-
-Sat Jul 27 20:05:17 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * lookup.c (diskfs_lookup): Don't nput *NP if we didn't find a file.
-
- * init-startup.c (diskfs_S_startup_dosync): Clean up after ourselves.
- Don't sync if DISKFS_READONLY.
- * file-syncfs.c (diskfs_S_file_syncfs): Don't sync if DISKFS_READONLY.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise.
- * sync-interval.c (periodic_sync): Likewise.
- * shutdown.c (diskfs_shutdown): Likewise.
-
-Fri Jul 26 14:52:23 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Unlock NP before we attempt to
- do setuid/setgid (which otherwise can deadlock during port reauth).
- Pay attention to the error code returned by fshelp_exec_reauth,
- and don't make NEWPI if it's an error.
- Initialize ERR.
-
-Tue Jul 23 16:05:55 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c (_print_version): Make return type void.
-
-Fri Jul 19 21:19:42 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * filedev.c (diskfs_get_file_device): INTS[3] contains the number
- of runs, not the number of offsets (which is 2*NUM_RUNS).
- Don't deallocate the device port we've fetched.
-
- * opts-std-startup.c (startup_options, parse_startup_opt): Remove
- the --version option, which is handled elsewhere now.
-
-Thu Jul 18 23:05:56 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * protid-make.c (diskfs_start_protid): Use noinstall version of
- ports_create_port.
- (diskfs_finish_protid): Install port right into port set here.
-
-Mon Jul 15 21:37:12 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_checkdirmod): diskfs_isowner returns error or
- zero, so invert sense of tests.
-
- * lookup.c (diskfs_lookup): If we get an error from
- diskfs_checkdirmod, diskfs_nput the node we picked up; the caller
- won't want it.
-
- * dir-renamed.c (diskfs_rename_dir): When unlocking FDP, only do
- it if we FDP != TDP. Also, only do step two (changing .. in the
- directory being moved) if FDP != TDP.
-
-Sat Jul 13 20:05:27 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Repeat
- diskfs_start_protid and auth_server_authenticate for as we get
- EINTR.
-
-Sun Jul 7 21:07:53 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_S_fsys_init): Don't use unsafe MOVE_SEND in
- call to exec_init.
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Don't use
- unsafe MOVE_SEND in auth_server_authenticate.
-
-Sun Jul 7 10:27:37 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c (_print_version): Include HURD_RELEASE in default.
-
-Sat Jul 6 16:27:01 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-version.c: New file.
- * Makefile (OTHERSRCS): Add opts-version.c.
-
-Sat Jul 6 13:32:58 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * node-drop.c (diskfs_drop_node): If this might be a special
- symlink, then truncate it even though NP->allocsize might be
- clear.
-
-Wed Jul 3 11:22:58 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * io-identity.c (diskfs_S_io_identity): Fetch identity using
- fshelp_get_identity rather than creating it ourselves.
- * diskfs.h (struct node): Remove member `identity'.
- * node-drop.c (diskfs_drop_node): Don't deallocate NP->identity.
- * node-make.c (diskfs_make_node): Don't initialize NP->identity.
-
-Thu Jun 27 10:07:03 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * init-startup.c (diskfs_startup_diskfs): Don't call
- diskfs_readonly_changed here anymore.
-
- * disk-pager.c (disk_pager_setup): Check diskfs_readonly variable
- instead of calling diskfs_check_readonly.
-
- * Makefile (LCLHDRS): Add diskfs-pager.h.
-
-Tue Jun 25 21:55:24 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-std-runtime.c (parse_opt): Add hair to share arg parsing
- state between two parsers that use the same parse_opt function at
- the same time.
-
-Mon Jun 24 14:55:50 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * init-startup.c (diskfs_S_startup_dosync): Don't crash the
- filesystem, just do a clean sync.
- * node-drop.c (diskfs_drop_node): Call diskfs_check_readonly
- before making mods.
- * priv.h (_diskfs_diskdirty): New variable.
- * diskfs.h (diskfs_check_readonly): New function.
- * readonly.c (_diskfs_diskdirty): New var.
- (diskfs_check_readonly): New function.
- (diskfs_set_readonly): After clean sync, clear _diskfs_diskdirty.
- * rdwr-internal.c (_diskfs_rdwr_internal): Use
- diskfs_check_readonly instead of diskfs_readonly.
- * node-create.c (diskfs_create_node): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * file-set-trans.c (diskfs_S_file_set_translator): Likewise.
- * disk-pager.c (disk_pager_setup): Likewise.
- * dir-unlink.c (diskfs_S_dir_unlink): Likewise.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * dir-mkdir.c (diskfs_S_dir_mkdir): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
- * dir-link.c (diskfs_S_dir_link): Likewise.
- * conch-fetch.c (iohelp_fetch_shared_data): Likewise.
- * remount.c (diskfs_remount): Likewise.
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): If
- auth_server_authenticate fails, then fill with empty IDs. We
- can't permit interruption, because this is a simpleroutine.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Validate rdev
- change before making it.
- * file-chflags.c (diskfs_S_file_chflags): Validate flags change
- before making it.
- * lithp.h (dithkfth_validate_author_change): New macro.
- * file-chauthor.c (dithkfth_TH_file_chauthor): Validate new author
- before changing it.
- * node-create.c (diskfs_create_node): Validate group change before
- making it.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * node-create.c (diskfs_create_node): Validate mode change before
- making it.
- * file-set-trans.c (diskfs_S_file_set_translator): Likewise
- * file-chmod.c (diskfs_S_file_chmod): Likewise.
- * node-create.c (diskfs_creade_node): Validate owner change before
- making it.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * Makefile (OTHERSRCS): Add validate-mode.c, validate-group.c,
- validate-author.c, validate-flags.c, validate-rdev.c, and
- validate-owner.c.
- * validate-mode.c, validate-group.c, validate-author.c,
- validate-flags.c, validate-rdev.c, validate-owner.c: New files.
- * diskfs.h (diskfs_validate_mode_change,
- diskfs_validate_owner_change, diskfs_validate_group_change,
- diskfs_validate_author_change, diskfs_validate_flags_change,
- diskfs_validate_rdev_change): New decls.
-
-Fri Jun 21 00:18:16 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * fsys-options.c (diskfs_S_fsys_get_options): Use
- fshelp_return_malloced_buffer to setup the return data.
- * file-get-fs-opts.c (diskfs_S_file_get_fs_options): Likewise.
- * opts-set.c (diskfs_set_options): Supply INPUT arg to
- fshelp_set_options.
-
- * opts-append-std.c (diskfs_append_std_options): Use argz_add
- instead of rolling our own. Deal with errors.
- <argz.h>: New include.
-
-Wed Jun 19 21:57:46 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * init-startup.c (diskfs_S_startup_dosync): Pass HANDLE to
- ports_lookup_port. Declare ERR.
-
- * opts-get.c (diskfs_get_options): Call diskfs_append_std_options to
- do most of the work.
- * opts-append-std.c: New file.
- * opts-set.c: New file (old version renamed).
- * opts-std-runtime.c: Renamed from opts-set.c.
- (diskfs_set_options): Function removed.
- (struct parse_hook): New type.
- (set_opts, parse_opt): New functions.
- (common_argp, parents, diskfs_std_runtime_argp): New variables.
- * diskfs.h (diskfs_parse_runtime_options): Decl removed.
- (diskfs_std_startup_argp): Renamed from diskfs_startup_argp, now a
- structure decl, not a pointer decl.
- (diskfs_std_device_startup_argp): Renamed from
- diskfs_device_startup_argp, now a structure decl, not a pointer
- decl.
- (diskfs_set_options): Update decl (now takes argz & argz_len).
- (diskfs_runtime_arg): New declaration.
- (diskfs_std_runtime_argp, diskfs_append_std_options): New declarations.
- * opts-runtime-parse.c, opts-runtime-unparse.c: Files removed.
- * opts-std-startup.c (parse_dev_startup_opt): Use argp_error.
- (diskfs_startup_arg, diskfs_device_startup_arg): Variables removed.
- (diskfs_std_startup_argp): Renamed from startup_argp, exported.
- (diskfs_std_device_startup_argp): Renamed from dev_startup_argp,
- exported.
- * fsys-options.c (diskfs_S_fsys_set_options): Don't split
- arguments, just call diskfs_set_options with what we got.
- * opts-runtime.c: New file.
- * Makefile (OTHERSRCS): Add opts-std-runtime.c, opts-append-std.c,
- opts-runtime.c. Remove opts-runtime-parse.c, opts-runtime-unparse.c
-
-Thu Jun 13 10:05:51 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * Makefile (MIGSTUBS): Add startup_notifyServer.o.
- * init-startup.c (diskfs_S_startup_dosync): Uncomment function.
- * demuxer.c (diskfs_demuxer): Call diskfs_startup_notify_server.
- * init-startup.c (_diskfs_init_completed): NOTIFY doesn't need
- deallocation.
-
- * boot-start.c (diskfs_S_fsys_init): Build version string
- correctly.
-
-Tue May 14 11:14:12 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * Makefile (OTHERSRCS): Remove init-completed.c.
-
- * node-drop.c (diskfs_drop_node): Fix typo.
-
-Sat May 11 01:11:19 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-std-startup.c (parse_dev_startup_opt, parse_startup_opt):
- Use ARGP_ERR_UNKNOWN instead of EINVAL.
- * opts-set.c (diskfs_set_options): Likewise.
-
-Fri May 10 17:15:51 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * io-identity.c: New file.
- * Makefile (IOSRCS): Add io-identity.c.
- * diskfs.h (diskfs_fsys_identity): New variable.
- (struct node): New member `identity'.
- * init-init.c (diskfs_fsys_identity): New variable.
- (diskfs_init_diskfs): Initialize diskfs_fsys_identity.
- * node-make.c (diskfs_make_node): Initialize NP->identity.
- * node-drop.c (diskfs_drop_node): Free NP->identity if it's been
- allocated.
-
-Thu May 9 11:52:52 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * protid-make.c (diskfs_make_protid): Delete function.
- * diskfs.h (diskfs_make_protid): Delete declaration.
-
- * init-startup.c (_diskfs_init_completed): Don't need to insert
- right any more now that it's a poly arg.
- Provide helpful name to init.
-
- * fsys-options.c (diskfs_S_fsys_get_options): Accept and ignore
- replyport parameters.
-
- * file-sync.c (diskfs_S_file_sync): Accept and ignore new parm
- OMITMETADATA.
-
- * priv.h: ioserver.h -> iohelp.h.
- * diskfs.h: Likewise.
- * file-sync.c (diskfs_S_file_sync): s/ioserver/iohelp/g
- * io-prenotify.c (diskfs_S_io_prenotify): Likewise.
- * io-get-conch.c (diskfs_S_io_get_conch): Likewise.
- * io-modes-off.c (diskfs_S_io_clear_some_openmodes): Likewise.
- * io-modes-on.c (diskfs_S_io_set_some_openmodes): Likewise.
- * io-modes-set.c (diskfs_S_io_set_all_openmodes): Likewise.
- * io-read.c (diskfs_S_io_read): Likewise.
- * io-readable.c (diskfs_S_io_readable): Likewise.
- * io-rel-conch.c (diskfs_S_io_release_conch): Likewise.
- * io-seek.c (diskfs_S_io_seek): Likewise.
- * io-stat.c (diskfs_S_io_stat): Likewise.
- * io-write.c (diskfs_S_io_write): Likewise.
- * conch-fetch.c (iohelp_fetch_shared_data): Likewise.
- * conch-set.c (iohelp_put_shared_data): Likewise.
- * node-make.c (diskfs_make_node): Likewise.
- * node-rdwr.c (diskfs_node_rdwr): Likewise.
- * Makefile (libdiskfs.so): Likewise.
-
- * dir-rename.c (diskfs_S_dir_rename): Understand new parm EXCL and
- do the right thing with it.
- * dir-link.c (diskfs_S_dir_link): Likewise.
-
-Thu May 9 12:12:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Don't pass CRED
- port in auth_server_authenticate.
-
- * io-select.c (diskfs_S_io_select): Removed TAG arg.
-
-Thu May 9 11:42:53 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * filedev.c (diskfs_get_file_device): Deallocate most things we
- got back from file_get_storage_info even if we didn't get an error.
-
- * filedev.c (diskfs_get_file_device): Fix type of DATA & _DATA.
- BLOCKSIZE -> BLOCK_SIZE. Copy name from DATA, not DEV_NAME_BUF.
-
-Mon May 6 20:12:34 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * filedev.c (diskfs_get_file_device): Enable new version.
-
-Fri May 3 15:55:44 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * filedev.c [0] (diskfs_get_file_device): Rewrite to use new interface.
-
-Tue Apr 30 14:39:06 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * init-startup.c: Include <string.h> and <hurd/startup.h>.
- (diskfs_startup_diskfs): If not bootstrap filesystem, call
- _diskfs_init_completed here.
- (diskfs_S_startup_dosync): New function (commented out).
- (_diskfs_init_completed): New function.
- * init-completed.c: Delete file.
- * init-init.c (diskfs_shutdown_notification_class): New variable.
- (diskfs_init_diskfs): Initialize diskfs_shutdown_notification_class.
- * diskfs.h (diskfs_shutdown_notification_class): New variable.
- * boot-start.c (diskfs_S_fsys_init): diskfs_init_completed ->
- _diskfs_init_completed.
- * priv.h (_diskfs_init_completed): New declaration.
- * diskfs.h (diskfs_init_completed): Delete function.
-
-Mon Apr 29 15:42:23 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * name-cache.c (struct lookup_cache): Add HDR, remove NEXT & PREV.
- (lookup_cache): Change type to struct cacheq.
- (mru_cache, lru_cache): Variables removed.
- (make_mru, make_lru, init_lookup_cache): Functions removed.
- (find_cache, diskfs_purge_lookup_cache,
- diskfs_check_lookup_cache): Use cacheq functions.
-
-Sun Apr 28 15:22:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * protid-make.c: Add obsolescence link warning.
-
-Tue Apr 23 11:05:04 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * node-drop.c (diskfs_drop_node): Don't do anything special for
- socket naming points.
- * Makefile (OTHERSRCS): Add dead-name.c.
- * dead-name.c: New file.
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Request notification for
- new SOCKADDR; count that notification as a reference.
-
-Fri Apr 12 15:56:48 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * name-cache.c (diskfs_enter_lookup_cache): Never cache . or ..
-
-Thu Apr 11 17:59:18 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * console.c: Include <hurd.h>.
-
- * Makefile (fsys-MIGSFLAGS, fs-MIGSFLAGS, io-MIGSFLAGS,
- ifsock-MIGSFLAGS): Reference fsmutations.h in $(srcdir).
-
- * boot-start.c (diskfs_start_bootstrap): Print helpful message
- before doing anything else.
-
-Wed Apr 10 16:47:21 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * name-cache.c (struct lookup_cache): Add NEXT & PREV fields.
- Rename LEN back to NAME_LEN.
- (lru_cache, mru_cache): New variables.
- (first_cache, last_cache): Variables removed.
- (make_mru, make_lru, find_cache, init_lookup_cache): New functions.
- (diskfs_enter_lookup_cache, diskfs_purge_lookup_cache,
- diskfs_check_lookup_cache): Rewrite to use the linked list. Deal
- with negative entries.
-
-Tue Apr 9 12:59:02 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * lookup.c (diskfs_lookup): Deal with DS or NP being 0.
- * name-cache.c (diskfs_check_lookup_cache): Correctly handle the
- case where the lookup returns DIR itself.
-
- * diskfs.h (diskfs_enter_lookup_cache, diskfs_purge_lookup_cache,
- diskfs_check_lookup_cache): Renamed from versions without `lookup_'.
- * name-cache.c (diskfs_enter_lookup_cache, diskfs_purge_lookup_cache,
- diskfs_check_lookup_cache): Likewise.
- * direnter.c (diskfs_direnter): Similarly, rename use.
- * dirrewrite.c (diskfs_dirrewrite): Likewise.
- * dirremove.c (diskfs_dirremove): Likewise.
- * lookup.c (diskfs_lookup): Likewise.
-
-Sun Apr 7 15:29:02 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * name-cache.c (diskfs_check_cache): Declare I.
- (struct lookup_cache, diskfs_enter_cache): Change NAMELEN field to LEN.
-
-Wed Apr 3 16:02:45 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * node-drop.c (diskfs_drop_node): Don't call
- _diskfs_purge_cache_deletion.
- * name-cache.c (_diskfs_purge_cache_deletion): Delete function.
-
- * diskfs.h (diskfs_cached_lookup): New declaration.
- (struct node): New member `cache_id'.
-
-Tue Apr 2 12:50:31 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * name-cache.c (diskfs_enter_cache): Don't set LC->next->prev if
- LC->next is null.
- (diskfs_purge_cache): If freeing node at LOOKUP_CACHE_TAIL, bump
- LOOKUP_CACHE_TAIL back itself too.
- (_diskfs_purge_cache_deletion): Likewise.
-
- * lookup.c (diskfs_lookup): When doing diskfs_checkdirmod check,
- don't return success when we should return ENOENT, just because
- checkdirmod won. Also enter successful lookups for CREATE or
- LOOKUP in the name cache.
-
-Fri Mar 29 13:57:37 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * io-map-cntl.c: Initialize shared page magic number.
-
-Mon Mar 25 09:30:31 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * name-cache.c (statistics): New variable.
- (diskfs_check_cache): Keep statistics on cache performance.
-
-Fri Mar 22 17:51:51 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-runtime-parse.c (diskfs_parse_runtime_options): Supply new
- argument to argp_parse.
-
-Fri Mar 22 15:44:10 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * lookup.c (diskfs_lookup): Dereference NP in call to
- diskfs_checkdirmod.
- * direnter.c (diskfs_direnter): Don't fall off end.
- * diskfs.h (diskfs_enter_cache, diskfs_purge_cache,
- diskfs_check_cache): Add declarations.
- * dir-rename.c (diskfs_S_dir_rename): Use new args for
- diskfs_dirrewrite and diskfs_dirremove.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
- * dir-clear.c (diskfs_clear_directory): Use new diskfs_dirremove
- args.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
- * dir-unlink.c (diskfs_S_dir_unlink): Likewise.
-
- * Makefile (OTHERSRCS): Add direnter.c, dirrewrite.c, dirremove.c,
- and lookup.c.
-
-Wed Mar 20 14:34:22 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_lookup_hard): Remove mention of ENOTDIR and
- EACCES errors.
- * diskfs.h (diskfs_null_dirstat): New function.
- * dir-lookup.c (diskfs_S_dir_lookup): Don't check cache here.
- * dir-unlink.c (diskfs_S_dir_unlink): Don't frob cache here.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
- * dir-clear.c (diskfs_clear_directory): Likewise.
- * node-create.c (diskfs_create_node): Likewise.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
- * dir-link.c (diskfs_S_dir_link): Likewise.
- * direnter.c: New file.
- * dirrewrite.c: Likewise.
- * dirremove.c: Likewise.
- * lookup.c: Likewise.
- * diskfs.h (diskfs_lookup): Renamed to be diskfs_lookup_hard.
- (diskfs_direnter): Renamed to be diskfs_direnter_hard.
- (diskfs_dirrewrite): Renamed to be diskfs_dirrewrite_hard.
- (diskfs_dirremove): Renamed to be diskfs_dirremove_hard.
- (diskfs_lookup, diskfs_direnter, diskfs_dirrewrite, diskfs_dirremove):
-
-Tue Mar 19 14:55:46 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * name-cache.c: New file.
- * Makefile (OTHERSRCS): Add name-cache.c.
- * dir-lookup.c (diskfs_S_dir_lookup): Check cache before normal
- diskfs_lookup call.
- * node-drop.c (diskfs_drop_node): Call
- _diskfs_purge_cache_deletion before releasing node structure with
- diskfs_node_norefs.
- * dir-clear.c (diskfs_clear_directory): Call
- diskfs_purge_cache_node before diskfs_dirremove.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
- * dir-unlink.c (diskfs_S_dir_unlink): Likewise.
- * dir-init.c (diskfs_init_dir): Doc fix.
- * dir-rename.c (diskfs_S_dir_rename): Call diskfs_purge_cache
- before diskfs_dirrewrite for old node.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
- * node-create.c (diskfs_create_node): Call diskfs_enter_cache if
- diskfs_direnter is successful.
- * dir-link.c (diskfs_S_dir_link): Likewise.
- * dir-rename.c (diskfs_S_dir_rename): Call diskfs_enter_cache if
- diskfs_direnter/diskfs_dirrewrite is successful.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
-
-Fri Mar 15 23:10:57 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Don't leak a send right to
- the anonymous handle on DNP when calling fetch_root.
-
-Tue Mar 12 14:36:10 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * file-set-trans.c (diskfs_S_file_set_translator): Deallocate ref
- on CONTROL when we are done with it.
-
-Thu Mar 7 16:45:02 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * readonly.c (diskfs_set_readonly): Don't sleep(1) after syncing.
-
-Thu Feb 29 14:29:20 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * Makefile (OTHERSRCS): Change `opts-runtime-def.c' to
- `opts-runtime-parse.c'. Add `opts-runtime-unparse.c'.
-
-Wed Feb 21 06:10:05 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * file-set-trans.c (diskfs_S_file_set_translator): Add EROFS check.
-
-Sun Feb 18 00:08:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * init-init.c (diskfs_init_diskfs): Use maptime_map.
- * node-times.c (diskfs_set_node_times): Use maptime_read.
-
-Fri Feb 16 13:48:08 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-runtime-def.c (diskfs_parse_runtime_options): STANDARD_ARGP
- is const.
-
-Thu Feb 15 16:59:04 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_nput): It's not valid to touch *NP (by
- `mutex_unlock (&np->lock);') after we have called
- diskfs_drop_node. So don't do it in that case.
-
-Wed Feb 7 22:42:22 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_nput): Before bumping NP->references (which
- precedes diskfs_try_dropping_softrefs), *lock*
- diskfs_node_refcnt_lock, not mutant unlock.
- (diskfs_nrele): Likewise.
-
-Wed Feb 7 16:22:31 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_parse_runtime_options): Make STANDARD_ARGP const.
- (diskfs_startup_argp, diskfs_device_startup_argp): Make const.
- * opts-common.c (diskfs_common_options): Make const.
- * opts-std-startup.c (startup_options, dev_startup_options,
- dev_start_argp_parents, dev_startup_argp, startup_common_argp,
- startup_argp_parents, startup_argp, diskfs_startup_argp): Make const.
- * opts-set.c (std_runtime_options): Make const.
- (diskfs_set_options): Make argp structures const.
-
-Wed Feb 7 13:39:09 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Revert last change.
-
-Tue Feb 6 15:56:04 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Make the new peropen we'll
- pass as dotdot to the fetch_root with the same flags as DIRCRED->po.
-
-Wed Jan 31 00:27:10 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * node-rdwr.c (diskfs_node_rdwr): Handle null AMTREAD.
-
-Tue Jan 30 21:20:13 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * fsys-options.c (diskfs_S_fsys_set_options): Use
- rwlock_writer_lock instead of rwlock_reader_lock in DO_CHILDREN case.
-
-Tue Jan 30 15:03:35 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * peropen-rele.c (diskfs_release_peropen): Free dotdotport when
- deallocating peropen.
-
-Wed Jan 24 18:14:28 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Use diskfs_create_protid instead
- of diskfs_make_protid, and deal with an error return.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * io-duplicate.c (diskfs_S_io_duplicate): Likewise.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise.
- * trans-callback.c (_diskfs_translator_callback2_fn): Likewise.
- * boot-start.c (diskfs_start_bootstrap, diskfs_S_exec_startup_get_info,
- diskfs_execboot_fsys_startup, diskfs_S_fsys_init): Likewise.
- * protid-make.c (diskfs_start_protid): Return an error now, and use
- ports_create_port instead of ports_allocate_port.
- (diskfs_create_protid): New function.
- (diskfs_make_protid): Call diskfs_create_protid.
- * diskfs.h (diskfs_start_protid): Update declaration.
- (diskfs_create_protid): New declaration.
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use new version of
- diskfs_start_protid.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Use ports_create_port
- instead of ports_allocate_port.
- * boot-start.c (start_execserver, diskfs_start_bootstrap): Likewise.
- * init-startup.c (diskfs_startup_diskfs): Likewise.
- * sync-interval.c (diskfs_set_sync_interval): Likewise.
- (periodic_sync): Pass in the MSG_ID arg to ports_begin_rpc, and
- deal with any error returned.
-
- * readonly.c (diskfs_set_readonly): Deal with ports_inhibit_class_rpcs
- returning an error.
- * remount.c (diskfs_remount): Likewise.
- * shutdown.c (diskfs_shutdown): Likewise.
- * sync-interval.c (diskfs_set_sync_interval): Likewise.
-
- * dir-readdir.c: Include <fcntl.h>.
-
-Tue Jan 23 16:28:47 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * opts-std-startup.c (startup_options): Put boot options in a
- separate group with a header.
-
-Thu Jan 18 14:05:51 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * dir-readdir.c (diskfs_S_dir_readdir): Require read permission
- before succeeding.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Deallocate ref to dotdot
- after diskfs_make_peropen, because the latter does not eat a
- reference.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): In symlink case, use
- MOVE_SEND to return the dotdot port to the user.
-
-Thu Jan 11 22:09:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * diskfs-pager.h (struct disk_image_user): New type.
- (diskfs_catch_exception, diskfs_end_catch_exception): Use it to
- maintain a linked list of catchers instead of just one.
-
-Sat Jan 6 11:49:02 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Makefile (installhdrs): Add diskfs-pager.h.
- (OTHERSRCS): Add disk-pager.c.
-
-Fri Jan 5 17:06:42 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * io-write.c: Return errors regardless of *AMT--writes are all or
- nothing.
- * io-read.c: Return errors regardless of *DATALEN--reads are all or
- nothing.
-
-Thu Jan 4 16:11:35 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * disk-pager.c, diskfs-pager.h: New files.
- * exc.c: File removed.
- * Makefile (OTHERSRCS): Remove exc.c.
- * diskfs.h (diskfs_catch_exception, diskfs_end_catch_exception):
- Macros removed.
- (diskfs_register_memory_fault_area,
- diskfs_unregister_memory_fault_area): Decls removed.
-
- * diskfs.h: Use size_t instead of int for amounts in
- diskfs_node_rdwr prototype.
- * node-rdwr.c (diskfs_node_rdwr): Pass AMTREAD read/write to
- _diskfs_rdwr_internal, instead of assuming it wrote the whole amount.
- Update the node if anything was transferred, regardless of ERR.
- * rdwr-internal.c (_diskfs_rdwr_internal): Rewritten using
- pager_memcpy.
- Fix types of args: OFFSET to off_t, make AMT read/write size_t *.
- * priv.h: Fix args in _diskfs_rdwr_internal prototype.
- * io-write.c: Pass AMT read/write to _diskfs_rdwr_internal, and
- return success if any bytes were written.
- * io-read.c: Likewise.
-
-Mon Jan 1 15:45:33 1996 Miles Bader <miles@gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Use fshelp_exec_reauth().
- (setid, scan_ids): Functions deleted.
-
-Thu Dec 28 14:21:42 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Always reauth the proc port,
- as exec does not do it, even in the secure case. Set the proc's
- owner too.
-
- * file-exec.c (setid): Don't touch the return params unless we succeed.
- Add SETID parameter, and just copy old into new unless it's set.
- Handle the NOLDGENIDS == 0 case correctly.
- (diskfs_S_file_exec): Use the new setid() properly. Make sure that
- {GEN,AUX}{UIDS,GIDS} are always in a state where they can be freed.
-
-Thu Dec 28 00:24:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * priv.h (end_using_protid_port): Don't calls ports_port_deref if
- CRED is null.
-
-Wed Dec 27 17:32:21 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * file-exec.c (setid): New function.
- (scan_ids): Moved out of diskfs_S_file_exec.
- (diskfs_S_file_exec): Move duplicated code into setid(). Make the
- bogus auth port case work correctly. Deleted old ifdefed-out code.
- Enable setuid code.
-
- * exc.c (diskfs_register_memory_fault_area): Register both
- preempter1 and preempter2 in REC instead of preempter1 twice.
-
-Sat Dec 23 14:49:22 1995 Michael I. Bushnell p/BSG <mib@gnu.ai.mit.edu>
-
- * exc.c: Entire file rewritten to use libc signal preemption
- facility.
-
-Wed Dec 20 14:49:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_S_fsys_init): Call proc_mark_exec on
- EXECPROCESS.
-
-Tue Dec 19 13:19:19 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Better attempt at
- setuid/setgid execution; still not entirely right, but mostly so.
- Will move this code to libfshelp before turning it on.
-
-Thu Dec 14 15:51:19 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_checkdirmod): Correctly return error code for
- failure, not 1.
-
-Mon Dec 4 17:07:20 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * dir-unlink.c (diskfs_S_dir_unlink): Don't call fsys_goaway until
- we've released our lock.
-
-Mon Dec 4 16:57:28 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-unlink.c (diskfs_S_dir_unlink): Delete vestigial fetch_control.
-
-Tue Nov 21 13:54:14 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * rdwr-internal.c (_diskfs_rdwr_internal): Declare PROT volatile.
-
- * init-first.c (master_thread_function): Declare to be `static
- any_t'.
-
- * fsys-options.c: Include <string.h>.
-
- * diskfs.h (diskfs_get_options): Bother providing declaration.
-
- * file-get-fs-opts.c: Include <string.h>.
- (diskfs_S_file_get_fs_options): Dereference DATA_LEN in call to
- vm_allocate.
-
-Sat Nov 18 09:01:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_S_exec_startup_get_info): Renamed from
- diskfs_S_exec_startup, slightly different protocol. Unused exec
- server stubs removed.
- * Makefile (MIGSTUBS): Replaced execServer.o with exec_startupServer.o.
-
-Mon Nov 13 17:13:40 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * demuxer.c (diskfs_demuxer):
- diskfs_exec_server --> diskfs_exec_startup_server.
-
-Mon Nov 13 16:28:27 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * file-lock-stat.c (diskfs_S_file_lock_stat): Lock around reads to
- make sure they are mutually consistent.
-
- * io-readable.c (diskfs_S_io_readable): Set *AMOUNT to zero if
- filepointer is past the end of the file.
-
-Thu Nov 9 12:33:53 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * dir-link.c (diskfs_S_dir_link): Now that args are swapped,
- deallocate port ref on FILECRED instead of DIRCRED.
-
-Sun Nov 5 10:49:26 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * Makefile (OTHERSRCS): Add opts-get.c.
- (FSSRCS): Add file-get-fs-opts.c.
- * file-get-fs-opts.c (diskfs_S_file_get_fs_options): New function.
- * fsys-options.c (diskfs_S_fsys_get_options): New function.
- * opts-get.c (diskfs_get_options): New function.
-
- * sync-interval.c (diskfs_sync_interval): New variable.
- (diskfs_set_sync_interval): Set DISKFS_SYNC_INTERVAL.
-
-Sat Nov 4 23:17:50 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * file-get-trans.c (diskfs_S_file_get_translator): Initialize ERROR.
-
- * trans-callback.c (_diskfs_translator_callback2_fn):
- UNDERLYING_TYPE should be a pointer. As should the UIDS & GIDS
- args to diskfs_make_protid.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Pass both callback args
- to fshelp_fetch_root.
-
- * filedev.c (diskfs_get_file_device): Give FLAGS argument to
- file_get_storage_info.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Fix various typos.
- (short_circuited_callback1): Dereference ARGZ & ARGZ_LEN.
- Include <hurd/paths.h>
-
-Wed Nov 1 15:56:45 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Add new callback arg to
- fshelp_fetch_root call. Change short_circuited_callback1 to
- reflect the split into two callbacks (we use the global diskfs
- callback for the other_).
- * trans-callback.c (_diskfs_translator_callback1_fn,
- _diskfs_translator_callback2_fn): New functions, replacing the
- single original.
- (_diskfs_translator_callback1, _diskfs_translator_callback2):
- New variables, replacing the single original.
- * priv.h (_diskfs_translator_callback1, _diskfs_translator_callback2):
- Declare.
-
- * boot-start.c (diskfs_execboot_fsys_startup): Add FLAGS arg; use.
- * fsys-startup.c (diskfs_S_fsys_startup): Ditto.
- * init-startup.c (diskfs_startup_diskfs): Ditto.
- * diskfs.h (diskfs_startup_diskfs, diskfs_execboot_fsys_startup):
- Add FLAGS arg.
-
-Mon Oct 30 13:20:12 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Move code for starting
- short-circuited translators here, from _diskfs_translator_callback_fn.
- Inline code from node_is_translated.
- (node_is_translated): Function removed.
- (major, minor): New macros -- temporarily here until libc exports them.
-
-Thu Oct 26 18:41:23 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * trans-callback.c (_diskfs_translator_callback_fn): Deal with
- short-circuited translators.
- * dir-lookup.c (node_is_translated): New function.
- (diskfs_S_dir_lookup): Use node_is_translated() instead of
- np->istranslated to see whether NP has a passive translator.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Add missing else.
- Use makedev macro instead of doing it by hand.
- (makedev): New macro -- temporarily here until libc exports one.
-
-Thu Oct 19 12:43:47 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * fsys-options.c (diskfs_S_fsys_set_options): Only hold
- DISKFS_FSYS_LOCK for writing while setting our own options; we
- hold it for reading while setting our children's.
-
- * rdwr-internal.c (_diskfs_rdwr_internal): Get rid of CRED argument.
- * priv.h (_diskfs_rdwr_internal): Ditto.
- * node-rdwr.c (diskfs_node_rdwr): Ditto.
- * io-write.c (diskfs_S_io_write): Ditto.
- * io-read.c (diskfs_S_io_read): Ditto.
-
-Wed Oct 18 15:52:53 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_get_filemap): Add prot parameter.
- (diskfs_max_user_pager_prot): New declaration.
- * rdwr-internal.c (_diskfs_rdwr_internal): Add argument CRED, and
- use it to decide how to setup the mapped i/o.
- * io-write.c (diskfs_S_io_write): Pass CRED to _diskfs_rdwr_internal.
- * io-read.c (diskfs_S_io_read): Ditto.
- * node-rdwr.c (diskfs_node_rdwr): Ditto.
- * io-map.c (diskfs_S_io_map): Pass the appropiate vm protection to
- diskfs_get_filemap. If this node isn't O_RDWR, only return the
- appropiate memobj.
- Include <fcntl.h>.
- * priv.h (_diskfs_rdwr_internal): Add cred parameter.
-
- * boot-start.c (diskfs_execboot_fsys_startup): Open exec's
- realnode read-only for now, since we know it doesn't matter and
- having gratuitously writable nodes around prevents us from
- starting up or going read-only.
- (diskfs_S_fsys_init): Don't make the cwdir/crdir right with O_WRITE.
- * trans-callback.c (_diskfs_translator_callback_fn): Ditto for
- other translators. The fsys_startup interface should change very
- soon and make this irrelevant.
-
- * readonly.c (diskfs_set_readonly): Return EBUSY if necessary.
- Add hack to try and work around pagers-can't-wait bug.
-
- * opts-common.c (diskfs_common_options): New variable.
- * priv.h (diskfs_common_options): New declaration.
- * opts-std-startup.c (startup_options): Remove options common to
- both runtime and startup.
- (startup_common_argp, startup_argp_parents): New variables.
- (startup_argp): Include parents.
- * opts-set.c (std_runtime_options): Remove options common to
- both runtime and startup.
- (diskfs_set_options): Use the common options.
- * Makefile (OTHERSRCS): Add opts-common.c.
-
- * diskfs.h (diskfs_fsys_lock): Change to a struct rwlock.
- Include <rwlock.h>
- * shutdown.c (diskfs_fsys_lock): Now a rwlock.
- (diskfs_shutdown): Lock DISKFS_FSYS_LOCK for writing.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Hold DISKFS_FSYS_LOCK
- for reading.
- * sync-interval.c (periodic_sync): Hold DISKFS_FSYS_LOCK for
- reading while syncing.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs): Ditto.
- * fsys-options.c (diskfs_S_fsys_set_options): Hold DISKS_FSYS_LOCK
- for writing.
- Dereference PT even when a child filesystem returns an error.
- * opts-set.c (diskfs_set_options): Don't hold DISKS_FSYS_LOCK (our
- caller should).
-
- * machdev.c (diskfs_get_mach_device): SIZE is in blocks.
-
-Wed Oct 18 14:00:58 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Return EACCES for attempts to
- execute a directory. Dike out totally bogus set[ug]id code.
- Bother to lock NP around critical section.
-
-Tue Oct 17 14:32:41 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * init-startup.c (diskfs_startup_diskfs): Call diskfs_readonly_changed
- if we're starting up writable.
- * diskfs.h (diskfs_readonly_changed, diskfs_reload_global_state,
- diskfs_node_reload, diskfs_set_readonly, diskfs_remount): New
- declarations.
- (diskfs_main_request_loop): Declaration removed.
- * Makefile (OTHERSRCS): Add readonly.c, remount.c.
- * readonly.c (diskfs_set_readonly): New function.
- * remount.c (diskfs_remount): New function.
-
- * opts-set.c (diskfs_set_options): Rework readonly transition &
- remounting. Hold diskfs_fsys_lock.
-
- * diskfs.h (diskfs_fsys_lock): Renamed from diskfs_shutdown_lock.
- * shutdown.c (diskfs_shutdown): diskfs_shutdown_lock -->
- diskfs_fsys_lock.
-
-Fri Oct 13 14:51:42 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_start_bootstrap): Get rid of ARGV argument.
- (diskfs_argv): New declaration.
- * boot-start.c (saved_argv): Variable removed.
- (diskfs_argv): New variable. Should get set by default arg parser.
- (diskfs_start_bootstrap): Get rid of ARGV argument.
- (diskfs_S_fsys_init): Use DISKFS_ARGV instead of SAVED_ARGV.
- * opts-std-startup.c (parse_startup_opt): Set DISKFS_ARGV.
- * init-startup.c (diskfs_startup_diskfs): Call diskfs_start_bootstrap
- if we're the bootstrap file system.
-
- * dev-globals.c (diskfs_device, diskfs_device_name,
- diskfs_device_start, diskfs_device_size, diskfs_device_block_size,
- diskfs_log2_device_block_size, diskfs_log2_device_blocks_per_page):
- New variables.
- * dev-io.c (diskfs_device_write_sync, diskfs_device_write_sync):
- New functions.
- * dev-open.c (diskfs_device_open): New function, new file.
- * diskfs.h (diskfs_device, diskfs_device_name,
- diskfs_device_start, diskfs_device_size, diskfs_device_block_size,
- diskfs_log2_device_block_size, diskfs_log2_device_blocks_per_page,
- diskfs_device_write_sync, diskfs_device_write_sync,
- diskfs_device_open, diskfs_console_stdio): New declarations.
- * console.c (diskfs_console_stdio): New function.
- * Makefile (OTHERSRCS): Add dev-open.c, dev-io.c, dev-globals.c,
- console.c.
- * opts-std-startup.c (diskfs_use_mach_device, diskfs_device_arg,
- dev_startup_options, dev_startup_argp_parents, dev_startup_argp,
- diskfs_device_startup_argp): New variables.
- (parse_dev_startup_opt): New function.
-
-Thu Oct 12 16:11:22 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_execboot_fsys_startup): Fix args to dir_lookup.
- Declare PATHBUF and RETRY.
-
- * boot-start.c (diskfs_S_fsys_init): Put the contents of
- diskfs_init_completed in here, freeing that routine for user-use.
-
- * init-completed.c (diskfs_init_completed): Now empty.
-
- * opts-set.c (std_runtime_options): Renamed from long_options,
- convert to argp format.
- (SHORT_OPTIONS): Removed.
- (diskfs_set_options): Converted to use argp.
- * diskfs.h (diskfs_parse_runtime_options,
- diskfs_standard_startup_argp): Use argp, not options.
- Include <argp.h> instead of <options.h>.
- * opts-runtime-def.c (diskfs_parse_runtime_options): Use argp
- instead of options.
- * opts-std-startup.c (std_startup_options): Renamed from
- std_long_options; converted to argp format.
- (std_startup_argp): Renamed from std_startp_argp, converted argp fmt.
- (diskfs_standard_startup_argp): Renamed from
- diskfs_standard_startup_options.
-
-Thu Oct 12 03:25:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_execboot_fsys_startup): Use dir_lookup
- instead of hurd_file_name_lookup to open /servers/exec.
-
-Mon Oct 9 03:42:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_execboot_fsys_startup): Pass back a port to
- /servers/exec in *REAL.
-
-Sat Oct 7 20:51:06 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * init-completed.c (diskfs_init_completed): New function.
- * diskfs.h (diskfs_init_completed): must --> may.
- Add necessary includes.
-
- * Makefile (OTHERSRCS): Add init-completed.c.
-
-Sat Oct 7 05:07:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Makefile (libdiskfs.so): Depend on libpager, libioserver,
- libfshelp, libthreads.
-
-Fri Oct 6 17:26:51 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_get_file_device, diskfs_get_mach_device): New funcs.
- (diskfs_boot_flags): New variable.
- (diskfs_bootflags, diskfs_bootflagarg): Variables deleted.
-
- * boot-start.c (diskfs_S_fsys_getpriv): Add the port type parameters.
-
- * Makefile (MIGSFLAGS): Variable deleted.
- (fs-MIGSFLAGS, io-MIGSFLAGS, ifsock-MIGSFLAGS): New variables.
- (fsys-MIGSFLAGS): Also import fsmutations.h.
-
- * dir-link.c (diskfs_S_dir_link): Swap first two arguments.
-
- * filedev.c (diskfs_get_file_device): Use new block_size return
- value from file_get_storage_info.
-
-Thu Oct 5 15:10:34 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * Makefile (OTHERSRCS): Remove boot-parse.c; add filedev.c & machdev.c.
- * diskfs.h (diskfs_host_priv, diskfs_master_device): Variables deleted.
- (diskfs_parse_bootargs): Function deleted.
- (diskfs_init_diskfs): Now returns error_t.
- * init-init.c (diskfs_init_diskfs): Always use get_privileged_ports.
- Now return error_t.
- * machdev.c (diskfs_get_mach_device): Use get_privileged_ports
- instead of diskfs_master_device.
- * boot-start.c (diskfs_S_fsys_getpriv): Use get_privileged_ports
- to get the privileged ports.
- (diskfs_start_bootstrap): Use diskfs_boot_flags instead of
- diskfs_bootflagarg.
- (diskfs_start_bootstrap, start_execserver): Look for flags
- directly in diskfs_boot_flags, instead of using the old
- diskfs_bootflags.
- * boot-start.c (diskfs_S_exec_startup): Use get_console to get the
- console device.
- (get_console): New function.
- * opts-std-startup.c (OPT_BOOTFLAGS, OPT_EXEC_SERVER_TASK,
- OPT_HOST_PRIV_PORT, OPT_DEVICE_MASTER_PORT): New defines.
- (std_long_opts, parse_std_startup_opt): Add the
- --device-master-port, --host-priv-port, --exec-server-task, and
- --bootflags options.
-
-Thu Oct 5 00:46:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * sync-interval.c (periodic_sync_lock): Variable removed.
- (diskfs_set_sync_interval): Use ports_inhibit_port_rpcs on `pi'
- instead of the spin lock.
- (periodic_sync): Don't use the lock.
- Put ports_begin_rpc before check of periodic_sync_thread.
-
-Wed Sep 27 20:11:09 1995 Miles Bader <miles@gnu.ai.mit.edu>
-
- * filedev.c (diskfs_get_file_device): New file, new function.
- * machdev.c (diskfs_get_mach_device): New file, new function.
-
-Mon Sep 18 14:21:29 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * io-pathconf.c (diskfs_S_io_pathconf): Renamed from
- file_pathconf.c:diskfs_S_file_pathconf.
- * Makefile (FSSRCS): Deleted file-pathconf.c.
- (IOSRCS): Added io-pathconf.c.
-
-Sun Sep 17 18:04:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_S_exec_startup): Don't pass an argument
- string. Set *FLAGS to EXEC_STACK_ARGS.
-
- * file-set-size.c: Renamed from file-trunate.c.
- (diskfs_S_file_set_size): Renamed from diskfs_s_file_truncate.
- If SIZE exceeds the file size, extend the file.
- * Makefile (FSSRCS): Rename file-truncate.c to file-set-size.c.
-
-Sat Sep 16 13:10:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * ourfs_notify.defs: New file.
- * Makefile (DIST_FILES): Added ourfs_notify.defs.
- (ourfs_notify_U.h ourfs_notifyUser.c, ourfs_notify.defs): Targets
- removed.
-
-Wed Sep 13 12:36:26 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_lookup): Doc fix.
- * dir-clear.c (diskfs_clear_directory): Set the fourth arg in
- REMOVE lookup calls in accord with change in rules for the lookup
- call.
-
-Wed Sep 6 11:30:24 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * demuxer.c (diskfs_demuxer): Use ports_notify_server and
- ports_interrupt_server instead of our own versions.
- * Makefile (SRCS): Removed $(NOTIFYSRCS) and $(INTSRCS).
- (NOTIFYSRCS, INTSRCS, notify-MIGSFLAGS): Removed.
- (MIGSTUBS): Removed notifyServer.o and interruptServer.o.
- * interrupt.c: File deleted.
-
-Tue Aug 29 14:22:58 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
-
- * io-select.c (diskfs_S_io_select): Don't check open modes or
- return EBADF.
-
-Fri Aug 25 15:02:19 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * Makefile (FSYSSRCS): Add fsys-forward.c.
-
-Fri Aug 25 09:44:43 1995 Michael I. Bushnell, p/BSG <mib@mole.gnu.ai.mit.edu>
-
- * file-truncate.c (diskfs_S_file_truncate): Bother to check the
- return value of diskfs_truncate.
-
-Wed Aug 23 14:39:07 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * Makefile (REMHDRS): Removed.
- Rules dealing with ../lib removed.
-
-Sat Jul 29 10:34:38 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Don't loop infinitely if
- we fail to get a reasonable PF_LOCAL server.
-
-Fri Jul 28 14:59:45 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Try to restart the
- PF_LOCAL server if it dies.
-
- * node-drop.c (diskfs_drop_node): Don't actually drop the node if
- it is a socket naming point, unless it also has no links.
-
-Sat Jul 22 13:54:48 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-getcontrol.c (diskfs_S_file_getcontrol): Fix typo.
- * boot-start.c (start_execserver): Likewise.
-
-Fri Jul 21 12:37:36 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * trans-callback.c (_diskfs_translator_callback_fn): Use correct
- sense of diskfs_readonly flag.
-
- * boot-start.c (diskfs_start_bootstrap): Free initial reference
- created by diskfs_make_protid.
- (diskfs_S_exec_startup): Likewise.
- (diskfs_S_fsys_init): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise. (Two places.)
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * io-duplicate.c (diskfs_S_io_duplicate): Likewise.
- * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise.
- * trans-callback.c (_diskfs_translator_callback_fn): Likewise.
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Free initial
- reference created by diskfs_start_protid.
-
- * boot-start.c (diskfs_start_bootstrap): Free initial reference
- created by ports_allocate_port.
- (start_execserver): Likewise.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Likewise.
- * init-startup.c (diskfs_startup_diskfs): Likewise.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Examine the active
- translator on NP, not on diskfs_root_node, to see if translator
- usage is necessary.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Only validate
- PASSIVELEN if PASSIVE is set.
-
-Tue Jul 18 16:12:20 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * init-first.c (thread_timeout, server_timeout): New vars.
- (THREAD_TIMEOUT, SERVER_TIMEOUT): Delete macros.
- (master_thread_function): Use vars instead of macros.
-
- * file-get-trans.c (diskfs_S_file_get_translator): Conform to new
- memory semantic of diskfs_get_translator.
-
-Wed Jul 12 16:39:24 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * shutdown.c (diskfs_shutdown): Call ports_resume_class_rpcs for
- diskfs_protid_class before return EBUSY.
-
-Thu Jul 6 15:34:59 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * Makefile (ourfs_notify_U.h ourfs_notifyUser.c): Use
- ourfs_notify.defs instead of directly out of the include
- directory.
- (ourfs_notify.defs): New target.
-
- * Makefile: Removed dependencies that are now automatically
- generated.
-
-Mon Jun 26 15:38:07 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * fsys-goaway.c (diskfs_S_fsys_goaway): Include "fsys_S.h" and
- "fsys_reply_U.h". New parms REPLY and REPLY_TYPE. Send
- fsys_goaway reply message before exit.
- * Makefile (fsys-MIGSFLAGS): New variable.
- * fsys-startup.c (diskfs_S_fsys_startup): New parms REPLY and
- REPLYTYPE.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * fsys-options.c (diskfs_S_fsys_set_options): Likewise.
- * boot-start.c (diskfs_S_fsys_getpriv): Likewise.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise.
- * fsys-getfile.c (diskfs_S_fsys_getfile): Include "fsys_S.h". New
- parms REPLY and REPLYTYPE.
-
- * sync-interval.c (periodic_sync_thread, periodic_sync_lock):
- Declare static.
- (control): Delete var.
- (pi): New var.
- (diskfs_set_sync_interval): Set PI instead of CONTROL.
- (periodic_sync): Do sync by hand; use ports routines around it
- properly.
-
- * shutdown.c (diskfs_shutdown): Fix parentheses on bitwise tests.
-
- * fsys-goaway.c (diskfs_S_fsys_goaway): If diskfs_shutdown returns
- zero, then exit here.
- * shutdown.c (diskfs_shutdown): Don't actually exit; return zero
- instead.
- * init-first.c (master_thread_function): Exit when shutdown
- returns zero.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Ignore harmless
- errors from fsys_goaway.
- * shutdown.c (diskfs_shutdown): Ignore harmless errors from
- fsys_goaway.
- * fsys-options.c (diskfs_S_fsys_set_options/helper): Ignore
- harmless errors from fsys_set_options.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Fix parentheses
- on first active EXCL check.
-
-Fri Jun 23 15:43:55 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * fsys-options.c (diskfs_S_fsys_set_options) [helper]: Unlock NP
- around fsys call.
- * file-syncfs.c (diskfs_S_file_syncfs) [helper]: Likewise.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs) [helper]: Likewise.
- * shutdown.c (diskfs_shutdown) [helper]: Likewise.
-
-Thu Jun 22 14:48:46 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * priv.h (_diskfs_translator_callback): Must be extern to force
- inclusion of trans-callback.c.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Correctly parethenize
- O_NOTRANS flags test.
-
-Tue Jun 20 11:52:24 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * node-make.c (diskfs_make_node): Fix function name
- fshelp_init_transbox -> fshelp_transbox_init.
-
- * file-syncfs.c: Include <hurd/fsys.h>.
- * fsys-syncfs.c: Likewise.
-
- * file-syncfs.c (diskfs_S_file_syncfs) [helper]: First arg to
- fshelp_fetch_control should be &NP->transbox, not NP.
- * fsys-options.c (diskfs_S_fsys_set_options) [helper]: Likewise.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs) [helper]: Likewise.
- * shutdown.c (diskfs_shutdown) [helper]: Likewise.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Remove
- assignment from if test.
- * node-rdwr.c (diskfs_node_rdwr): Likewise.
-
-Mon Jun 19 16:32:12 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_node_iterate): New (user-provided) function.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs): Use diskfs_node_iterate
- instead of diskfs_sync_translators.
- * file-syncfs.c (diskfs_S_file_syncfs): Likewise.
- * shutdown.c (diskfs_shutdown): Likewise.
- * fsys-options.c (diskfs_S_fsys_set_options): Likewise.
-
- * dir-rmdir.c (diskfs_S_dir_rmdir): Don't attempt anything for
- translated directories here; just return EBUSY.
- * dir-unlink.c (diskfs_S_dir_unlink): Don't do massively
- complicated fsys_goaway. Instead, call it at the end (but only if
- this was the last link) and ignore errors.
-
- * fsys-startup.c (diskfs_S_fsys_startup): Strip out support for
- translators; fshelp now does that itself.
-
- * file-set-trans.c: Include <hurd/fsys.h>.
-
- * file-set-trans.c (diskfs_S_file_set_translator): Use new
- translator interface throughout.
- * dir-lookup.c (diskfs_S_dir_lookup): Use new translator startup
- interface.
-
-Fri Jun 16 17:42:44 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * file-get-transcntl.c (diskfs_S_file_get_translator_cntl): Use
- fshelp_fetch_control instead of old interface.
-
-Wed Jun 14 15:52:30 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * node-drop.c (diskfs_drop_node): Call fshelp_drop_transbox
- instead of fshelp_kill_translator; do it *after* the truncate.
- * node-make.c (diskfs_make_node): Initialize TRANSBOX member using
- new function. Drop initialization of TRANSLATOR member.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Use new translator
- startup interface.
- * Makefile (OTHERSRCS): Removed trans-start.c, trans-destroy.c,
- and trans-sync.c. Added trans-callback.c.
- * trans-start.c, trans-destroy,c, trans-sync.c: Deleted files.
- * trans-callback.c: New file.
- * priv.h (_diskfs_translator_callback): New declaration.
- * diskfs.h (diskfs_start_translator, diskfs_destroy_translator,
- diskfs_sync_translators):
- Delete declarations.
- (struct node): Replace TRANSLATOR member with new TRANSBOX member.
- (diskfs_get_translator): Specify new calling interface.
-
-Fri Jun 9 15:48:30 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * rdwr-internal.c (_diskfs_rdwr_internal): Cast __VM_PAGE_SIZE in
- comparisen.
- * io-write.c (diskfs_S_io_write): Cast DATALEN to off_t in
- comparisons.
- * io-read.c (diskfs_S_io_read): Cast MAKREAD to off_t in
- comparison.
- * io-prenotify.c (diskfs_S_io_prenotify): Cast END to off_t in
- comparison.
- * file-get-trans.c (diskfs_S_file_get_translator): Declare
- variable `buflen' and various variables `len' to be unsigned.
- * file-exec.c (diskfs_S_file_exec): Declare both variables `i' to
- be unsigned int.
-
- * io-async-icky.c (diskfs_S_io_get_icky_async_id): Validate CRED.
-
- * interrupt.c (diskfs_S_interrupt_operation): Bother to implement.
-
- * init-init.c (diskfs_init_diskfs): Pass null second argument in
- calls to ports_create_class.
-
- * fsys-options.c (diskfs_S_fsys_set_options): Bother validating
- FSYS and implementing DO_CHILDREN.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Initialize GIDS, NUIDS, and
- NGIDS to avoid warning.
-
- * boot-start.c: Provide unused attributes where appropriate.
- * file-chg.c (diskfs_S_file_notice_changes): Mark parameters as
- unused.
- * file-getfh.c (diskfs_S_file_getfh): Likewise.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Likewise.
- * fsys-getfile.c (diskfs_S_fsys_getfile): Likewise.
- * init-init.c (_diskfs_control_clean): Likewise.
- * io-async.c (diskfs_S_io_async): Likewise.
- * notify-stubs.c: Likewise.
- * file-pathconf.c (diskfs_S_file_pathconf): Declare NAME to be
- unused.
- * io-select.c (diskfs_S_io_select): Declare ATTRIBUTE unused.
- * io-stubs.c (diskfs_S_io_postnotify): Declare parms START and END
- unused.
- * io-prenotify.c (diskfs_S_io_prenotify): Declare parm START
- unused.
-
- * diskfs.h (diskfs_transboot_class): Delete var.
- * init-init.c (diskfs_transboot_class): Delete var.
- (diskfs_init_diskfs): Don't initialize it.
-
- * dir-rename.c (diskfs_S_dir_rename): After renaming directory,
- synchronize relevant state if DISKFS_SYNCHRONOUS.
-
-Thu Jun 8 19:01:25 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_pager_users): New function.
- * shutdown.c (diskfs_shutdown): Rewrote to use new ports interface
- adequately.
-
-Tue Jun 6 13:50:13 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * init-first.c (diskfs_spawn_first_thread): Call our own
- thread function instead of the ports one directly.
- (master_thread_function): New function.
-
- * notify-nosenders.c (diskfs_do_seqnos_mach_notify_no_senders):
- Don't help support pagers here at all.
- * demuxer.c (diskfs_demuxer): Don't call pager_demuxer.
-
- * boot-start.c (diskfs_start_bootstrap): Use new args for
- ports_allocate_port.
- (start_execserver): Likewise.
- * init-startup.c (diskfs_startup_diskfs): Likewise.
- * protid-make.c (diskfs_start_protid): Likewise.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Likewise.
- * sync-interval.c (diskfs_set_sync_interval): Likewise.
-
- * boot-start.c (diskfs_S_exec_startup): Use ports_lookup_port and
- ports_port_deref instead of ports_check_port_type and
- ports_done_with_port.
- (diskfs_execboot_fsys_startup): Likewise.
- (diskfs_S_fsys_init): Likewise.
- (diskfs_S_fsys_getpriv): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
- * fsys-goaway.c (diskfs_S_fsys_goaway): Likewise
- * fsys-startup.c (diskfs_S_fsys_startup): Likewise.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise.
- * notify-nosenders.c (diskfs_do_seqnos_mach_notify_no_senders):
- Likewise.
- * priv.h (begin_using_protid_port): Use ports_lookup_port.
- (end_using_protid_port): Use ports_port_deref.
-
- * trans-start.c (fshelp_transboot_port_type): Deleted var.
- * priv.h (enum porttype): Delete.
- * demuxer.c: Renamed from ports-demuxer.c.
- (diskfs_demuxer): Renamed from ports_demuxer.
- * init-init.c (diskfs_protid_class, diskfs_transboot_class,
- diskfs_control_class, diskfs_initboot_class,
- diskfs_execboot_class, diskfs_port_bucket): New vars.
- (diskfs_init_diskfs): Don't call libports_initialize.
- Initialize diskfs_protid_class, diskfs_transboot_class,
- diskfs_control_class, diskfs_initboot_class,
- diskfs_execboot_class, and diskfs_port_bucket.
- * diskfs.h: (diskfs_shutdown_soft_ports): Deleted decl.
- (ports_demuxer): Deleted decl.
- (diskfs_demuxer): New decl.
- (diskfs_protid_class, diskfs_transboot_class, diskfs_control_class,
- diskfs_initboot_class,diskfs_execboot_class, diskfs_port_bucket):
- New decls.
- * ports-noports.c, ports-clean.c, ports-soft.c, ports-idle.c,
- ports-consts.c, pager-consts.c, init-loop.c: Deleted files.
- * Makefile (OTHERSRCS): Deleted ports-noports.c, ports-clean.c,
- ports-soft.c, ports-consts, pager-consts.c, init-loop.c, and
- ports-idle.c.
- Replace ports-demuxer.c with demuxer.c.
-
-Mon May 22 13:52:16 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * opts-set.c (diskfs_set_options): Don't fall through to the error
- case from the 's' one!
- Use ARG instead of the global OPTARG.
-
-Sat May 20 01:11:05 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * file-getcontrol.c (diskfs_S_file_getcontrol): Unlock
- _diskfs_control_lock lock instead of locking it again!
-
-Fri May 19 21:22:14 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * opts-set.c (diskfs_set_options): New function in new file.
- * opts-runtime-def.c (diskfs_parse_runtime_options): Ditto.
- * opts-std-startup.c (diskfs_standard_startup_options): New
- exported variable in new file.
- * fsys-options.c (diskfs_S_fsys_set_options): Extract the argument
- vector and call diskfs_set_options.
- * diskfs.h: (diskfs_standard_startup_options): Declare new variable.
- (diskfs_set_options): Declare new function.
- (diskfs_parse_runtime_options): Ditto.
- Include <options.h> (currently in ../lib).
- * Makefile (OTHERSRCS): Add opts-set.c, opts-std-startup.c, and
- opts-runtime-def.c.
- (OBJS): Add argz.o & options.o.
- (REMHDRS): Add argz.h & options.h.
-
-Tue May 16 17:36:46 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * init-first.c (diskfs_spawn_first_thread): Don't start syncing here.
- * init-startup.c (diskfs_startup_diskfs): Do it here instead.
-
-Mon May 15 15:18:25 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_set_options): Declare.
- * fsys-options.c (diskfs_S_fsys_set_options): Extract argc & argv,
- and call diskfs_set_options.
- * def-set-options.c: New file (contains a default diskfs_set_options).
-
- * Makefile (OBJS): Add argz.o (from ../lib). It shouldn't hurt to
- have this in libdiskfs, since we need it...
- (CPPFLAGS): Add -I../lib, to get argz.h, + $(CPPFLAGS-$(notdir $<))
- Set the vpath for %.c to ../lib, so we get argz.c.
- (OTHERSRCS): Add def-set-options.c.
-
-Sat May 13 03:08:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-parse.c (diskfs_execserver_task): New variable.
- (diskfs_parse_bootargs): Take a third integer arg before the
- device name, our name for the task port of the exec server, which
- is loaded and ready to run but suspended.
- * boot-start.c (start_execserver): Don't create and load a task;
- the exec server file is no longer linked into the filesystem.
- Just set the bootstrap port of diskfs_execserver_task and resume
- it.
-
-Fri May 12 16:22:33 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * fsys-readonly.c (diskfs_S_fsys_set_options,
- diskfs_S_fsys_mod_readonly): Change from mod_readonly to
- set_options. This file is now actually called fsys-options.c.
- * Makefile (FSYSSRCS): Rename fsys-readonly.c to fsys-options.c.
-
- * sync-interval.c (diskfs_set_sync_interval): New function (in a
- new file) that establishes a thread to periodically sync the
- filesystem.
- * Makefile (OTHERSRCS): Add sync-interval.c and sync-default.c.
- * diskfs.h: Add declarations of diskfs_set_sync_interval and
- diskfs_default_sync_interval.
-
- * init-first.c (diskfs_spawn_first_thread): Start background syncing.
- * sync-default.c (diskfs_default_sync_interval): A new variable
- that defines a default initial sync interval.
-
-Fri May 12 15:45:43 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * io-read.c (diskfs_S_io_read): If the offset is past the end of
- the file, then return EOF.
-
-Thu Apr 27 20:01:16 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * node-drop.c (diskfs_drop_node): Deal cleanly with errors in
- diskfs_truncate.
-
- * diskfs.h (diskfs_nrele, diskfs_nput): We need to hold a real
- reference around the call to diskfs_try_dropping_softrefs, because
- that's a user-supplied routine that might itself rely on the
- reference counting system.
-
-Thu Apr 20 18:54:26 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * node-create.c (diskfs_create_node): Return EROFS if diskfs_readonly.
-
-Tue Apr 4 20:20:40 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * dir-unlink.c (diskfs_S_dir_unlink): Do fsys_goaway for
- translated nodes being unlinked.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise.
-
-Tue Apr 4 18:33:35 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): However, replacing *MAKE_SEND*
- with COPY_SEND just doesn't work...
-
-Tue Apr 4 14:31:51 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Using MOVE_SEND in call to
- exec_exec loses, because it consumes a reference, which will be
- consumed again by mach_msg_server if we return an error. So use
- COPY_SEND instead, and deallocate the rights ourselves only when
- we are to return success.
-
-Fri Mar 31 12:25:57 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-set-trans.c (diskfs_S_file_set_translator): Only destroy
- existing active translator if ACTIVE_FLAGS will change it. If the
- existing active translator is provided then don't do anything.
-
-Fri Mar 17 11:36:40 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * io-stat.c (diskfs_S_io_stat): Typo.
-
- * diskfs.h: Back out changes to protid and associated permission
- checking functions.
- * file-chmod.c (diskfs_S_file_chmod): Likewise.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Likewise.
-
- * dir-link.c (diskfs_S_dir_link): Fix typo.
-
- * diskfs.h (_diskfs_idcheckdirmod): `diskfs_hasuid' ->
- diskfs_idhasuid.
- * priv.h (CHANGE_NODE_FIELD): Remove trailing space on backslashed
- line.
-
- * diskfs.h (_diskfs_idcheckdirmod): `cred' -> `id'.
- (diskfs_idhasgid): Likewise.
-
- * dir-clear.c (diskfs_clear_directory): Don't do
- diskfs_synchronous here.
- * dir-init.c (diskfs_init_dir): Likewise.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Repair implementation of
- diskfs_syncronous.
- * dir-renamed.c (diskfs_rename_dir): If we are synchronous,
- sync the one node our parent doesn't have access to.
- * dir-mkdir.c (diskfs_S_dir_mkdir): Implement diskfs_synchronous.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
- * dir-lookup.c (diskfs_S_dir_lookup): Likewise.
- * io-read.c (diskfs_S_io_read): Likewise.
- * fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise.
- * node-drop.c (diskfs_drop_node): Likewise.
- * node-rdwr.c (diskfs_node_rdwr): Likewise.
-
-Wed Mar 15 11:54:12 1995 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * conch-fetch.c (ioserver_fetch_shared_data): Implement
- diskfs_synchronous.
- * dir-clear.c (diskfs_clear_directory): Likewise.
- * dir-init.c (diskfs_init_dir): Likewise.
- * dir-renamed.c (diskfs_rename_dir): Likewise.
-
-Wed Mar 8 16:36:04 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_synchronous): New variable.
- * priv.h (CHANGE_NODE_FIELD): If DISKFS_SYNCHRONOUS, then sync
- node after possibly changing it.
- * io-seek.c: Prevent diskfs_synchronous from having its usual
- effect here.
- * dir-link.c (diskfs_S_dir_link): Implement diskfs_synchronous.
- * dir-rename.c (diskfs_S_dir_rename): Likewise.
- * dir-rmdir.c (diskfs_S_dir_rmdir): Likewise
- * dir-unlink.c (diskfs_S_dir_unlink): Likewise.
- * file-sync.c (diskfs_S_file_sync): Likewise.
- * file-syncfs.c (diskfs_S_file_syncfs): Likewise.
- * io-prenotify.c (diskfs_S_io_prenotify): Likewise.
- * io-stat.c (diskfs_S_io_stat): Likewise.
- * io-write.c (diskfs_S_io_write): Likewise.
- * io-sigio.c (diskfs_S_io_sigio): Likewise.
-
-Tue Mar 7 15:21:09 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * diskfs.h (struct userid): New type.
- (struct protid): Replace UIDS, GIDS, NUIDS, and NGIDS with ID.
- (diskfs_isuid): Replace with new function diskfs_idhasuid.
- (diskfs_groupmember): Replace with new function diskfs_idhasgid.
- (_diskfs_idisowner, _diskfs_idaccess, _diskfs_idcheckdirmod):
- New functions.
- (diskfs_isowner): Check each ID in the chain with
- _diskfs_idisowner.
- (diskfs_access): Check each ID in the chain with _diskfs_idaccess.
- (diskfs_checkdirmod): Check each ID in the chain with
- _diskfs_idcheckdirmod.
- * file-chmod.c (diskfs_S_file_chmod): Perform the permission
- check for each ID in the chain.
- * file-chown.c (diskfs_S_file_chown): Likewise.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Likewise.
-
- * boot-parse.c (diskfs_parse_bootargs): Use assert_perror instead
- of assert where appropriate.
- * boot-start.c (diskfs_start_bootstrap): Likewise.
- (diskfs_S_fsys_init): Likewise.
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Likewise.
- * rdwr-internal.c (_diskfs_rdwr_internal): Likewise.
-
-Thu Jan 19 02:04:34 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Makefile (ourfs_notify_U.h ourfs_notifyUser.c): Make this
- instead of ourmsg_U.h. All references changed.
- * dir-chg.c: Undo renaming. Includ ourfs_notify_U.h instead of
- ourmsg_U.h.
-
- * io-select.c: Updated to new io_select protocol.
-
- * dir-chg.c (diskfs_S_dir_notice_changes): Call
- nowait_msg_dir_changed instead of nowait_dir_changed.
-
-Sat Dec 10 20:03:07 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (start_execserver): When aligning bss size for
- vm_allocate, don't include bss start alignment fixup offset.
-
-Fri Dec 9 02:06:35 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * io-read.c (diskfs_S_io_read): Don't check for MAXREAD<0.
-
- * io-write.c: Use mach_msg_type_number_t in place of unsigned int
- and int.
- * io-readable.c: Likewise.
- * io-read.c: Likewise.
-
-Wed Nov 23 00:26:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * ports-demuxer.c (ports_demuxer): Call
- diskfs_seqnos_notify_server, not seqnos_notify_server.
-
-Fri Nov 11 13:11:35 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * io-read.c (diskfs_S_io_read): If OFF is past the end of the
- file, don't set MAXREAD to a negative number; that will crash
- rdwr_internal.
-
-Wed Nov 9 01:46:18 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-exec.c: Include <hurd/paths.h>.
- (diskfs_S_file_exec): If diskfs_exec isn't already
- set, try to open it here. (Later, we should also deal if
- exec_exec returns that the previous server died.)
-
-Tue Nov 8 00:06:56 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * file-get-trans.c: Include <stdio.h> for asprintf decl.
-
-Wed Nov 2 16:16:57 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * priv.h (CHANGE_NODE_FIELD): Don't call diskfs_node_update here.
-
-Fri Oct 28 18:26:15 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-parse.c (diskfs_parse_bootargs): Make stdout line buffered.
- (diskfs_parse_bootargs): Use getline instead of scanf.
- * boot-start.c (diskfs_start_bootstrap): Likewise.
- (diskfs_S_fsys_init): Create a root port with two send right refs
- and install it as crdir and cwdir.
-
-Tue Oct 25 14:16:50 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_start_bootstrap): Renamed variable ARGV
- to be EXEC_ARGV and ARGVLEN to be EXEC_ARGVLEN.
-
-Fri Oct 7 01:30:12 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-parse.c (diskfs_parse_bootargs): Open console for reading too.
-
- * boot-start.c (saved_argv): New static variable.
- (diskfs_start_bootstrap): Take arg ARGV; store it in saved_argv.
- (diskfs_S_fsys_init): Construct a portarray and call _hurd_init.
- Or, if _hurd_ports is already allocated, call _hurd_proc_init.
- * diskfs.h (diskfs_start_bootstrap): Update prototype.
-
-Thu Oct 6 17:47:42 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * boot-start.c (diskfs_S_fsys_init): Allocate a reference on
- authhandle before allowing the library to consume one.
-
-Wed Oct 5 13:00:46 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * node-drop.c (diskfs_drop_node): Clear passive translator
- if we are releasing the inode.
-
-Thu Sep 29 18:12:31 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-parse.c (diskfs_parse_bootargs): If we have a bootstrap
- port, talk to the CMU default pager on it, then clear it.
-
-Fri Sep 23 00:15:52 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * diskfs.h (diskfs_lost_hardrefs): Doc fix.
- (diskfs_try_dropping_softrefs): New declaration.
- (diskfs_nput): Always call diskfs_lost_hardrefs if the last
- hardref goes away; call diskfs_try_dropping_softrefs if the
- link count has vanished too.
- (diskfs_nrele): Likewise.
- (diskfs_nref): Lock node during call to diskfs_new_hardrefs.
-
-Thu Sep 22 21:20:40 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * diskfs.h (struct node): New member `istranslated'.
- (diskfs_node_translated): Deleted function.
- * dir-lookup.c (diskfs_S_dir_lookup): Use istranslated field
- instead of diskfs_node_translated.
- * file-get-trans.c (diskfs_S_file_get_translator): Likewise.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Likewise.
- * file-set-trans.c (diskfs_S_file_set_translator): Likewise.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
-Fri Sep 16 11:53:04 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * file-set-trans.c (diskfs_S_file_set_translator): Use new
- lock on translator fields; don't hold it and the NP lock
- simultaneously.
- * trans-destroy.c (diskfs_destroy_translator): Doc fix.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Turn off *all* flags
- in call to getroot if we aren't the last component.
-
-Thu Sep 15 13:01:21 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * init-init.c (diskfs_init_diskfs): Restore commented-out
- initialization of diskfs_auth_server_port.
-
-Mon Sep 12 14:38:54 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Clear translator
- port if we get MIG_SERVER_DIED, as with MACH_SEND_INVALID_DEST.
-
-Sun Sep 11 23:30:13 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Copy PATHBUF into RETRYNAME
- properly when symlink target begins with a slash.
-
-Sat Sep 10 08:36:08 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Makefile (OTHERSRCS): Add init-startup.c.
- * init-init.c (_diskfs_dotdot_file): Variable removed.
- (diskfs_init_diskfs): Take no args; return void.
- Don't do fsys_startup here.
- * init-startup.c (diskfs_startup_diskfs): New file, new function.
- Do fsys_startup here instead.
- * diskfs.h (diskfs_init_diskfs): Update prototype.
- (diskfs_startup_diskfs): Declare it.
-
- * dir-lookup.c (diskfs_S_dir_lookup): Use error_t for ERROR.
- Retry when fsys_getroot returns MIG_SERVER_DIED, as with
- MACH_SEND_INVALID_DEST.
-
-Fri Sep 9 13:04:36 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup) [EAGAIN]: Only copy
- into RETRYNAME if this isn't the last component.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Set *RETRY
- and *RETRYNAME properly on normal return.
-
- * init-init.c (diskfs_init_diskfs): Don't attempt to continue
- if fsys_startup fails. Deallocate BOOTSTRAP after using it.
-
-Wed Sep 7 09:52:52 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * trans-start.c (diskfs_start_translator): Don't give write
- access to underlying node if it's not IFREG.
-
- * dir-lookup.c (diskfs_S_dir_lookup): When returning a port
- passed back from fsys_getroot, use MACH_MSG_TYPE_MOVE_SEND,
- not the local default of MAKE_SEND.
-
- * trans-start.c (diskfs_start_translator): Removed assert.
-
-Tue Sep 6 15:30:59 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
-
- * dir-lookup.c (diskfs_S_dir_lookup): Translator startup code
- rewritted to be more robust and use new locking protocol
- on translink structures.
- * trans-start.c (diskfs_start_translator): Don't pass LOCK arg
- to diskfs_start_translator. Unlock NP around call to
- diskfs_start_translator. Don't expect DIR to be deallocated.
-
-Thu Sep 1 12:28:03 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * trans-start.c (diskfs_start_translator): Expect right
- on DIR and NPPORT to be consumed by fshelp_start_translator.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Allocate additional
- send-right for DOTDOT to be consumed by diskfs_start_translator.
- Be careful to deallocate DOTDOT when appropriate.
- * dir-lookup.c (diskfs_S_dir_lookup): Create DIRFILE from
- DNP, not NP. Create local reference for dirfile to use
- in call to fsys_getroot.
-
- * boot-start.c (diskfs_start_bootstrap): Give the
- library values for current working and root directories.
-
- * trans-start.c (diskfs_start_translator): Fix and enable.
- * diskfs.h (diskfs_start_translator): Add new third arg to
- prototype.
- * dir-lookup.c (diskfs_S_dir_lookup): Provide third arg to
- diskfs_start_translator.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
-Wed Aug 31 12:04:51 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec) [reauth]: Destroy REF after
- using it.
-
- * file-get-trans.c (diskfs_S_file_get_translator)
- [S_ISCHR || S_ISBLK]: Correct cast of second arg to vm_allocate.
-
- * Makefile (FSYSSRCS): Added fsys-readonly.c and fsys-syncfs.c.
- * fsys-readonly.c, fsys-syncfs.c: New files.
-
-Wed Aug 31 01:50:07 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * boot-parse.c (diskfs_parse_bootargs): Fix scanf format for
- bootstrap filesystem device name.
-
- * file-exec.c (diskfs_S_file_exec): For S_ISUID|S_ISGID, create
- new auth handle and reauthenticate passed ports properly.
-
-Tue Aug 30 13:44:29 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-exec.c (diskfs_S_file_exec): Don't bother setting
- EXEC_NEWTASK for non-readable execs; it doesn't really work
- anyhow.
-
- * init-init.c: Call ports_get_right with the result of
- ports_allocate_port in call to fsys_startup.
-
- * trans-sync.c (diskfs_sync_translators): Use fsys_syncfs
- instead of old ugly method.
-
- * init-init.c: Include <hurd/fsys.h>.
-
- * boot-start.c (diskfs_start_bootstrap): Check to make sure return
- from fsys_getroot and dir_lookup is FS_RETRY_NORMAL with empty
- retry_name instead of old FS_RETRY_NONE.
- * dir-lookup.c (diskfs_S_dir_lookup): Initialize return values with
- FS_RETRY_NORMAL and empty retryname instead of old FS_RETRY_NONE.
-
- * Makefile (FSSRCS): Remove dir-pathtrans.c; add dir-lookup.c.
- * dir-lookup.c: Renamed from dir-pathtrans.c.
- * dir-pathtrans.c (diskfs_S_dir_lookup): Renamed from
- diskfs_S_dir_pathtrans.
- * boot-start.c (diskfs_start_bootstrap): Call dir_lookup instead
- of dir_pathtrans.
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Call file_name_lookup
- instead of path_lookup.
-
-Mon Aug 29 12:51:42 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use new
- protocol for auth_server_authenticate.
-
-Fri Aug 26 12:49:09 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * file-set-trans.c (diskfs_S_file_set_translator): Rename args;
- split flags arg into two. Interpret flags according to new
- scheme.
-
-Thu Aug 18 12:58:44 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * boot-parse.c (diskfs_parse_bootargs): Print informative
- bootstrap message.
- * boot-start.c (diskfs_start_bootstrap): Likewise.
- (start_execserver): Likewise.
-
- * boot-start.c (diskfs_start_bootstrap): Only do `pausing'
- hack if RB_KDB was in bootstrap args.
- (start_execserver): Likewise.
-
- * io-select.c (diskfs_S_io_select): Add new `porttype' arg.
-
-Thu Aug 11 13:05:40 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Set retry stuff
- correctly if there are more components after translator
- fsys_getroot.
-
-Sat Jul 23 02:25:54 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Makefile (notify-MIGSFLAGS): New variable: -DSEQNOS.
-
- * ports-demuxer.c (ports_demuxer): Prepend diskfs_ to Hurd
- interface server functions.
-
-Fri Jul 22 10:54:23 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
-
- * Makefile: Changed to use new scheme.
- * boot-start.c: Include "fsys_reply_U.h" instead of "fsys_reply.h".
- * dir-chg.c: Include "ourmsg_U.h" instead of "msg.h".
- * fsmutations.h SERVERPREFIX): Delete macro.
-
- * diskfs.h (struct thread_stuff, diskfs_catch_exception,
- diskfs_end_catch_exception): Moved here from diskfs_machdep.
- Delete inclusion of diskfs_machdep.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Skip leading
- slashes instead of returning an error.
-
-Tue Jul 19 22:12:29 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Fix fsys_getroot call:
- MACH_MSG_TYPE_MOVE_SEND instead of MACH_PORT_RIGHT_MOVE_SEND.
-
-Tue Jul 19 18:37:52 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * boot-start.c (diskfs_start_bootstrap): Create root port
- before calling fsys_getroot on exec server. Pass root port
- as exec server's dotdot node.
- (diskfs_execboot_fsys_startup): Deleted dotdot args.
- * diskfs.h (diskfs_execboot_fsys_startup): Deleted dotdot args.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans) [translator startup]:
- Set dirfile always, not just when invoking the passive translator.
- Pass dirfile to fsys_getroot. Clean up deallocate of dirfile.
- * file-inv-trans.c (diskfs_S_file_invoke_translator): Comment
- out code; this function should vanish.
- * priv.h (_diskfs_dotdot_file): Deleted variable.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Use new arg `dotdot'
- in place of _diskfs_dotdot_file. Pass dotdot in call to
- fsys_getroot.
- * trans-sync.c (diskfs_sync_translators): Pass grunge as dotdot
- arg in call to fsys_getroot.
- * fsys-startup.c (diskfs_S_fsys_startup): Deleted dotdot args;
- don't pass them in calls to helper functions.
- * init-init.c (diskfs_init_diskfs): Don't expect dotdot arg
- from fsys_getroot; don't set _diskfs_dotdot_file.
-
-Mon Jul 18 15:24:30 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * file-inv-trans.c: New file.
- * Makefile (FSSRCS): Added file-inv-trans.c.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Dereference
- returned_port in check for null.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Likewise.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): After
- diskfs_start_translator, set var `control'.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): After getting
- MACH_SEND_INVALID_DEST from the translator, set error to zero
- so that the user's open completes normally. Do other fixes
- from Jul 7 that were made in dir-pathtrans.c for translator
- startup.
-
- * ports-idle.c (ports_notice_idle): New file.
- * Makefile (OTHERSRCS): Added ports-idle.c.
-
- * node-times.c (diskfs_set_node_times): Set old stat structure
- times until the header file gets changed.
-
- * ifsock.c (diskfs_S_ifsock_getsockaddr): Provide type argument
- in call to socket_fabricate_address.
-
-Fri Jul 15 12:00:38 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Use
- DIRCRED->po->dotdotport instead of diskfs_dotdot_file.
-
- * diskfs.h (diskfs_read_symlink_hook): New variable.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Don't permit symlinks
- to be opened for reading or writing (just like other special file
- types). Try using diskfs_read_symlink_hook before reading
- from file data.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Try using
- diskfs_read_symlink_hook before reading from file data.
- * file-get-trans.c (diskfs_S_file_get_translator): Likewise.
-
-Thu Jul 14 14:39:08 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * diskfs.h (diskfs_create_symlink_hook): New variable.
- (diskfs_truncate): Doc fix.
- * file-set-trans.c (diskfs_S_file_set_translator): Try
- diskfs_create_symlink_hook first, before writing ourselves.
- Return errors to user properly.
-
- * node-times.c (diskfs_set_node_times): Use new stat structures
- with struct timespec instead of old definitions.
-
-Wed Jul 13 14:26:37 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * shutdown.c (diskfs_shutdown): Check UNLINK bit first to avoid
- dumping translators if we end up returning an error.
-
- * ports-noports.c: New file.
- * ports-soft.c: New file.
- * diskfs.h (diskfs_shutdown_soft_ports): New declaration.
- * Makefile (OTHERSRCS): Added ports-noports.c and ports-soft.c.
-
- * diskfs.h (diskfs_init_diskfs): New arg `bootstrap'; add return
- value. Call fsys_getroot if bootstrap is set.
-
- * diskfs.h (diskfs_dotdot_file): Deleted variable.
- (struct peropen): New member `dotdotnode'.
- (diskfs_make_peropen): New arg DOTDOTPORT.
- * peropen-make.c (diskfs_make_peropen): Set PO->dotdotport;
- allocate reference if necessary.
- * priv.h (_diskfs_dotdot_file): New variable.
- * init-init.c (_diskfs_dotdot_file): New definition.
- * boot-start.c (diskfs_start_bootstrap): dotdot for created
- peropen to root should be null (we are *the* root directory in this
- case).
- (diskfs_S_exec_startup): Likewise.
- * dir-mkfile.c (diskfs_S_dir_mkfile): Inherit dotdot for
- new peropen from CRED->po.
- * file-exec.c (diskfs_S_file_exec): Likewise.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Inherit dotdot for
- new peropens from DIRCRED->po.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Set dotdot
- from _diskfs_dotdot_file.
-
- * diskfs.h (diskfs_control_port): Deleted variable.
- * priv.h (_diskfs_control_lock, _diskfs_ncontrol_ports): New vars.
- (_diskfs_control_clean): New declaration.
- * ports-clean.c (ports_cleanroutines[PT_CTL]): Use
- _diskfs_control_clean.
- * init-init.c (diskfs_init_diskfs): Don't create control port here.
- (_diskfs_control_lock, _diskfs_ncontrol_ports): New declarations.
- * file-getcontrol.c (diskfs_S_file_getcontrol): Always create
- a new control port structure.
-
- * io-write.c (diskfs_S_io_write): Honor O_FSYNC bit.
- * conch-set.c (ioserver_put_shared_data): Set do_sigio if
- user set O_FSYNC.
- * io-stubs.c (diskfs_S_io_sigio): Removed function.
- * io-sigio.c: New file.
- * Makefile (IOSRCS): Added io-sigio.c
-
- * io-write.c (diskfs_S_io_write): Eliminate pointless test for
- !err before _diskfs_rdwr_internal; only increment filepointer if
- there was no error.
-
- * priv.h (_diskfs_rdwr_internal): New arg NOTIME.
- * rdwr-internal.c (_diskfs_rdwr_internal): New arg NOTIME.
- * io-read.c (diskfs_S_io_read): Don't set atime if O_NOATIME is on.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Don't allow non-owner
- to set O_NOATIME.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
- * priv.h (HONORED_STATE_MODES): Add O_NOATIME.
- (OPENONLY_STATE_MODES): New macro.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Use
- OPENONLY_STATE_MODES to turn off appropriate bits.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): At start, turn
- off all the bits not in O_HURD; we ignore all those and don't
- keep track of them in any way.
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
- * file-get-trans.c (diskfs_S_file_get_translator): Return
- shortcircuited translators for IFCHR, IFBLK, IFIFO, and IFSOCK.
-
- * file-set-trans.c (diskfs_S_file_set_translator): In computing
- rdev, 377 should be *octal*, not hex.
-
- * dir-rename.c (diskfs_S_dir_rename): Deallocate received
- send-right for TOCRED any time we return success.
-
- * dir-link.c (diskfs_S_dir_link): Don't assume that NP is a
- non-directory before checking it.
-
- * boot-start.c (diskfs_start_bootstrap): New variable
- `initnamebuf' which is allocated and then not changed; free
- it rather than freeing `initname'.
-
-Mon Jul 11 18:16:25 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Symlinks to pathnames
- beginning with `/' sholud return FS_RERTY_MAGICAL (but the
- retry name is stils the same).
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
-Fri Jul 8 13:34:25 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): After getting
- MACH_SEND_INVALID_DEST from the translator, set error to zero
- so that the user's open completes normally.
- (diskfs_S_dir_pathtrans): Call mach_port_mod_refs correctly.
- (diskfs_S_dir_pathtrans): In call to fsys_getroot, turn off
- O_NOLINK for !lastcomp, not for lastcomp.
-
-Thu Jul 7 14:46:46 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Deal correctly
- with the sendright on the translator control port avoiding
- races while the node is unlocked.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): At translator
- lookup time, if there is an active translator, release the
- lock on DNP just like we do in the start-passive case. Also
- after fsys_getroot, release reference and clear DNP so that
- code at out: doesn't get it wrong.
- (diskfs_S_dir_pathtrans): Call fshelp_translator_drop instead
- of setting it to null ourselves.
- * trans-destroy.c (diskfs_destroy_translator): Likewise.
-
-Wed Jul 6 14:43:55 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * ports-demuxer.c (ports_demuxer): Only call ifsock_server
- if diskfs_shortcut_ifsock is set.
-
-Tue Jul 5 14:15:32 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * Makefile (TAGSHDRS): New variable.
-
-Thu Jun 30 11:35:43 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * fsmutations.h (IFSOCK_IMPORTS): New macro.
-
- * ports-demuxer.c (ports_demuxer): Call ifsock_server.
-
-Wed Jun 29 17:07:17 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * diskfs.h (struct node): New member `sockaddr'.
- * node-make.c (diskfs_make_node): Initialize NP->sockaddr.
- * node-drop.c (diskfs_drop_node): Deallocate NP->sockaddr
- if it's been set.
- * ifsock.c: New file.
- * Makefile (IFSOCKSRCS): New variable.
- (SRCS): Added $(IFSOCKSRCS).
- (MIGSTUBS): Added ifsockServer.o.
- (ifsock_S.h ifsockServer.c): New rule.
- (ifsock_S.h): Depended on by IFSOCKSRCS generated objects.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Detect the case
- where the server has died by looking for MACH_SEND_INVALID_DEST
- as a return from fsys_getroot. Rearrange lock/unlock and
- reference counting of NP and DNP because we may need them back
- if we have to repeat the call.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
-
-Fri Jun 24 15:52:52 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-link.c (diskfs_S_dir_link): The port_info struct member
- is `port_right', not `port'.
-
-Tue Jun 21 13:25:15 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-link.c (diskfs_S_dir_link): Deallocate received send
- right for DIRCRED anytime we return success.
-
- * dir-chg.c (diskfs_S_dir_notice_changes): New var `np'. Return
- ENOTDIR if call is made on a non-directory.
-
-Mon Jun 20 16:40:37 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * node-drop.c (diskfs_drop_node): Free structures holding
- dirmod requests.
- * node-make.c (diskfs_make_node): Initialize NP->dirmod_reqs
- to zero.
-
-Fri Jun 17 13:16:18 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Initialize ERROR.
-
-Fri Jun 17 11:21:25 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * trans-sync.c: Include <fcntl.h>.
-
- * Makefile (boot-start.o): Depend on fsys_reply.h.
-
-Thu Jun 16 11:31:46 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * Makefile (msg.h, msgUser.c): New rules.
- (MIGSTUBS): Added msgUser.o.
- (dir-chg.o): Depends on msg.h.
- * dir-chg.c: Include "msg.h".
-
- * diskfs.h (diskfs_start_translator): Second arg DIR is now
- file_t. Changed locking rules.
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Call
- diskfs_start_translator the new way; clean up lock releases.
-
- * fshelp-dropnode.c: Deleted file.
- * fshelp-getnode.c: Deleted file.
- * Makefile (OTHERSRCS): Removed fshelp-dropnode.c and fshelp-getnode.c.
-
- * boot-start.c (diskfs_start_bootstrap): Use new fsys_getroot
- interface.
-
- * fsys-getroot.c: Include <fcntl.h> for O_ bits. Include
- <hurd/fsys.h> for fsys_startup prototype.
-
- * boot-start.c (diskfs_start_bootstrap, diskfs_S_exec_startup):
- Delete obsolete assignments to INIT_PORT_LOGINCOLL.
-
- * diskfs.h (struct node) [dirmod_reqs]: New member.
- (struct dirmod): New type.
- (diskfs_dirrewrite, diskfs_dirremove, diskfs_direnter): Doc fix.
- (diskfs_notice_dirchange): New prototype.
- * dir-chg.c (diskfs_S_dir_notice_changes): Implement call.
- (diskfs_notice_dirchange): New function.
-
- * diskfs.h (diskfs_get_directs): Doc fix.
-
- * file-access.c (diskfs_S_file_check_access): Renamed from
- diskfs_S_file_access. Return allowable operations in *TYPE
- rather than checking those explicitly asked for. Use O_ bits
- instead of _OK bits. Include <fcntl.h>.
-
-Wed Jun 15 21:26:14 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Require lookup of
- empty pathname to fail if not made on a directory.
-
- * fsys-getroot.c (diskfs_S_fsys_getroot): Rewritten to implement
- the new fsys_getroot interface.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Don't implement
- O_TRUNC here anymore.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Use the new
- fsys_getroot interface for translator startup.
-
- * io-modes-set.c (diskfs_S_io_set_all_openmodes): Only let
- the user set the user-setable bits.
-
- * file-get-transcntl.c (diskfs_S_file_get_translator_cntl): New
- arg CTLTYPE; set appropriately.
-
-Wed Jun 15 12:18:16 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * file-chg.c (diskfs_S_file_notice_changes): Declare return type.
-
- * file-access.c: New file.
- * Makefile (FSSRCS): Added file-access.c.
-
-Tue Jun 14 14:06:36 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * diskfs.h (diskfs_get_dirents): New declaration.
- * dir-readdir.c (diskfs_S_dir_readdir): Implement new
- interface using diskfs_get_directs.
-
- * dir-chg.c, file-chg.c: New files.
- * Makefile (FSSRCS): Added dir-chg.c and file-chg.c.
-
-Thu Jun 9 13:39:25 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Release lock on NP
- during call to fsys_getroot; stash control port and uid info in
- new local variables. Reacquire lock before return (because
- common code at label OUT expects NP to be locked).
-
-Mon Jun 6 18:54:50 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): In translator
- startup check, test O_NOTRANS in flags correctly.
-
- * dir-renamed.c (diskfs_rename_dir): Don't call diskfs_nrele on
- TMPNP after SPEC_DOTDOT calls; the spec says that SPEC_DOTDOT
- with RENAME does not allocate a new reference.
-
-Sun Jun 5 05:51:11 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Fix
- initialization of {GEN,AUX}_{UIDS,GIDS}.
-
-Fri Jun 3 18:19:22 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * file-set-trans.c (diskfs_S_file_set_translator): Use
- fshelp_set_control instead of doing it ourselves.
-
-Thu Jun 2 12:00:51 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * diskfs.h (struct node): New member `light_references'.
- (diskfs_nref, diskfs_nput, diskfs_nrele, diskfs_make_node): Doc fix.
- (diskfs_nref_light, diskfs_nput_light, diskfs_nrele_light):
- New functions.
- (diskfs_nrele, diskfs_nput): Only call diskfs_drop_node if both
- NP->references *and* NP->light_references are zero.
- (diskfs_new_hardrefs, diskfs_lost_hardrefs): New declarations.
- (diskfs_nref): Call diskfs_new_hardrefs when appropriate.
- (diskfs_nput, diskfs_nrele): Call diskfs_lost_hardrefs when
- appropriate.
-
- * node-make.c (diskfs_make_node): Initialize NP->light_references.
- Doc fix.
-
-Wed Jun 1 18:24:11 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Skip over multiple
- slashes in pathnames by incrementing NEXTNAME after setting it.
- Also, if after we do this we discover that there is no last
- component, then set LASTCOMP and clear NEXTNAME and CREATE
- entirely, and set (new variable) MUSTBEDIR. Then check for
- MUSTBEDIR after the node has been fetched. Make var TYPE
- function-global and set it always, not just when NEWNODE is unset.
-
-Fri May 27 08:47:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * boot-start.c (diskfs_S_exec_exec, diskfs_S_exec_setexecdata):
- Add missing args.
- (diskfs_S_exec_startup): Don't point *ARGVP to EXEC_DATA local
- storage. Instead, copy EXEC_DATA to *ARGVP if *ARGVLEN allows;
- otherwise vm_allocate new space and copy into there.
-
-Thu May 26 15:33:57 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * diskfs.h (diskfs_nrele): Acquire lock if we are releasing
- the last reference.
-
- * node-drop.c (diskfs_drop_node): If we are truncating, then
- go back to normal user state and do the truncate; the next
- time through we will do the dealloc for real.
- Semantics change: now this routine is responsible for
- unlocking diskfs_node_refcnt_lock. All callers changed.
-
-Wed May 25 20:34:17 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * io-write.c (diskfs_S_io_write): Don't check for *AMT < 0; AMT is
- an out-only parameter.
-
-Wed May 25 12:23:25 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * ports-consts.c (ports_use_multiple_threads): Deleted definition.
- * init-first.c (diskfs_spawn_first_thread): Fork
- ports_manage_port_operations_multithread instead of
- ports_maange_port_operations.
- * init-loop.c (diskfs_main_request_loop): Likewise.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Reference node in
- lookup of empty path case so that common code at the out: label
- doesn't free an extra one.
-
-Mon May 23 23:13:51 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * boot-start.c (diskfs_S_fsys_init): Start exec_init after
- proc_child.
-
-Thu May 19 12:48:53 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * io-reauthenticate.c (diskfs_S_io_reauthenticate): Unlock
- node after calling diskfs_finish_protid.
-
-Thu May 12 14:23:29 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * Makefile (clean): Add fsys_reply.h and *User.c.
-
-Thu May 12 03:45:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Makefile (fsys_reply.h fsys_replyUser.c): New rule.
- (MIGSTUBS): Add fsys_replyUser.o.
- * boot-start.c: Include fsys_reply.h.
- (diskfs_S_fsys_init): Take new reply port args.
- Send reply msg as soon as verified, before doing anything.
-
-Mon May 9 16:58:24 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * diskfs.h (diskfs_init_completed): New function declaration.
- * boot-start.c (diskfs_S_fsys_init): Don't call _hurd_proc_init.
- Do call diskfs_init_completed.
-
-Thu May 5 13:04:43 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Behave properly
- if nextname is null. Copy nextname to the end of the symlink
- target rather than vice versa. Don't punt to the caller before
- doing the append.
- (diskfs_S_dir_pathtrans): O_NOTRANS should prevent symlink
- interpretation.
- (diskfs_S_dir_pathtrans): If a symlink traversal was the last
- component, then clear CREATE (symlinks to nothing don't honor
- O_CREAT) and clear LASTCOMP (because it isn't true any longer).
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Fix mangled check
- for O_NOLINK.
- (diskfs_S_dir_pathtrans): Repair furtherly mangled check for
- O_NOLINK.
-
- * conch-set.c (ioserver_put_shared_data): Set
- optimal_transfer_size from the same thing we return in stat.
-
- * io-async.c (diskfs_S_io_async): Just return EOPNOTSUPP without
- doing anything more at all.
-
-Thu May 5 06:32:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * io-prenotify.c (diskfs_S_io_prenotify): Make START and END args
- type vm_offset_t.
-
- * io-map-cntl.c (diskfs_S_io_map_cntl): Take 3rd result arg
- for msg type of *CTLOBJ; set it to copy-send.
-
- * io-async.c (diskfs_S_io_async): Take 3rd result arg for msg type
- of *IDPORT; set it to copy-send. Return 0 instead of EOPNOTSUPP;
- should not be deallocating NOTIFY if returning an error.
-
- * io-async-icky.c (diskfs_S_io_get_icky_async_id): Take 3rd result arg
- for msg type of *IDPORT; set it to copy-send.
-
- * conch-set.c (ioserver_put_shared_data): Temporarily #if 0
- setting of optimal_transfer_size from bogus undeclared variable.
-
- * protid-make.c: Include <string.h> to get bcopy declared.
-
- * {file,dir,io,fsys}-*.c: Changed return type of all RPC server
- functions to kern_return_t. error_t is not compatible with the
- declarations in the mig-generated header files.
-
- * Makefile: Change uses of $(headers) to $(includedir).
-
- * file-exec.c (diskfs_S_file_exec): Fix msg type arg in exec_exec call.
-
- * dir-pathtrans.c (diskfs_S_dir_pathtrans): Add missing close paren.
-
- * boot-start.c (diskfs_start_bootstrap): Pass msg type arg for
- FILE arg to exec_exec.
- (diskfs_S_fsys_getpriv): Change return type to kern_return_t.
- error_t is not compatible with the declarations in the
- mig-generated header files.
- (diskfs_S_fsys_init): Likewise.
- (exec_stack_base, exec_stack_size): New variables.
- (diskfs_S_exec_startup): Use those for stack values in reply.
- (start_execserver): Pass them to mach_setup_thread to be initialized.
-
-Mon May 2 16:32:22 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
-
- * dir-pathtrans.c: Test for O_NOLINK flag was mangled.
-
-Fri Apr 29 16:44:08 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
-
- * io-stubs.c (diskfs_S_io_readnotify): New function.
-
- * conch-set.c (ioserver_put_shared_data): Set new fields
- optimal_transfer_size (to sblock->fs_bsize) and
- use_readnotify_size (to zero).
-
- * file-exec.c (diskfs_S_file_exec): Change call to exec_exec in
- accord with interface change in exec.defs.
-
-Mon Feb 14 11:26:26 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * boot-start.c: #include <hurd.h>.
- (start_execserver): Call _hurd_setup_thread in place of start_thread.
diff --git a/libdiskfs/boot-start.c b/libdiskfs/boot-start.c
index ad3cf1a4..e73e4d37 100644
--- a/libdiskfs/boot-start.c
+++ b/libdiskfs/boot-start.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1993,94,95,96,97,98,99,2000,01,02
+ Copyright (C) 1993,94,95,96,97,98,99,2000,01,02,10
Free Software Foundation, Inc.
This file is part of the GNU Hurd.
@@ -194,6 +194,9 @@ diskfs_start_bootstrap ()
diskfs_exec_ctl = MACH_PORT_NULL; /* Not used after this. */
}
+ /* Cache the exec server port for file_exec to use. */
+ _hurd_port_set (&_diskfs_exec_portcell, diskfs_exec);
+
if (_diskfs_boot_command)
{
/* We have a boot command line to run instead of init. */
@@ -276,9 +279,6 @@ diskfs_start_bootstrap ()
mach_port_deallocate (mach_task_self (), startup_pt);
mach_port_deallocate (mach_task_self (), bootpt);
assert_perror (err);
-
- /* Cache the exec server port for file_exec to use. */
- _hurd_port_set (&_diskfs_exec_portcell, diskfs_exec);
}
/* We look like an execserver to the execserver itself; it makes this
diff --git a/libdiskfs/dir-lookup.c b/libdiskfs/dir-lookup.c
index 56c9587e..7e092908 100644
--- a/libdiskfs/dir-lookup.c
+++ b/libdiskfs/dir-lookup.c
@@ -1,6 +1,6 @@
/* libdiskfs implementation of fs.defs:dir_lookup
- Copyright (C) 1992,93,94,95,96,97,98,99,2000,01,02
- Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2008 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -53,8 +53,8 @@ diskfs_S_dir_lookup (struct protid *dircred,
int mustbedir = 0;
size_t amt;
int type;
- struct protid *newpi;
- struct peropen *newpo;
+ struct protid *newpi = 0;
+ struct peropen *newpo = 0;
if (!dircred)
return EOPNOTSUPP;
@@ -257,8 +257,8 @@ diskfs_S_dir_lookup (struct protid *dircred,
if (! error)
{
error = diskfs_create_protid (newpo, user, &newpi);
- if (error)
- diskfs_release_peropen (newpo);
+ if (! error)
+ newpo = 0;
}
iohelp_free_iouser (user);
@@ -269,6 +269,7 @@ diskfs_S_dir_lookup (struct protid *dircred,
dirport = ports_get_send_right (newpi);
ports_port_deref (newpi);
+ newpi = 0;
if (np != dnp)
mutex_unlock (&dnp->lock);
@@ -460,28 +461,24 @@ diskfs_S_dir_lookup (struct protid *dircred,
dircred->po, &newpo);
if (! error)
- {
- error = diskfs_create_protid (newpo, dircred->user, &newpi);
- if (error)
- diskfs_release_peropen (newpo);
- }
+ error = diskfs_create_protid (newpo, dircred->user, &newpi);
if (! error)
{
+ newpo = 0;
if (flags & O_EXLOCK)
error = fshelp_acquire_lock (&np->userlock, &newpi->po->lock_status,
&np->lock, LOCK_EX);
else if (flags & O_SHLOCK)
error = fshelp_acquire_lock (&np->userlock, &newpi->po->lock_status,
&np->lock, LOCK_SH);
- if (error)
- ports_port_deref (newpi); /* Get rid of NEWPI. */
}
if (! error)
{
*returned_port = ports_get_right (newpi);
ports_port_deref (newpi);
+ newpi = 0;
}
out:
@@ -495,5 +492,10 @@ diskfs_S_dir_lookup (struct protid *dircred,
if (dnp)
diskfs_nput (dnp);
+ if (newpi)
+ ports_port_deref (newpi);
+ if (newpo)
+ diskfs_release_peropen (newpo);
+
return error;
}
diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c
index 6fc7e0f5..867e395d 100644
--- a/libdiskfs/dir-rename.c
+++ b/libdiskfs/dir-rename.c
@@ -1,5 +1,7 @@
/* libdiskfs implementation of fs.defs: dir_rename
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation
+
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 2007
+ Free Software Foundation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -17,6 +19,7 @@
#include "priv.h"
#include "fs_S.h"
+#include <string.h>
/* To avoid races in checkpath, and to prevent a directory from being
simultaneously renamed by two processes, we serialize all renames of
@@ -42,6 +45,10 @@ diskfs_S_dir_rename (struct protid *fromcred,
if (! tocred)
return EXDEV;
+ if (!strcmp (fromname, ".") || !strcmp (fromname, "..")
+ || !strcmp (toname, ".") || !strcmp (toname, ".."))
+ return EINVAL;
+
if (tocred->po->shadow_root != fromcred->po->shadow_root)
/* Same translator, but in different shadow trees. */
return EXDEV;
@@ -138,6 +145,7 @@ diskfs_S_dir_rename (struct protid *fromcred,
{
diskfs_drop_dirstat (tdp, ds);
diskfs_nrele (fnp);
+ diskfs_nput (tnp);
mutex_unlock (&tdp->lock);
return EISDIR;
}
@@ -149,6 +157,8 @@ diskfs_S_dir_rename (struct protid *fromcred,
{
diskfs_drop_dirstat (tdp, ds);
diskfs_nput (fnp);
+ if (tnp)
+ diskfs_nput (tnp);
mutex_unlock (&tdp->lock);
return EMLINK;
}
diff --git a/libdiskfs/dir-renamed.c b/libdiskfs/dir-renamed.c
index ce8f4153..79381b2c 100644
--- a/libdiskfs/dir-renamed.c
+++ b/libdiskfs/dir-renamed.c
@@ -32,7 +32,6 @@ checkpath(struct node *source,
error_t err;
struct node *np;
- np = target;
for (np = target, err = 0;
/* nothing */;
/* This special lookup does a diskfs_nput on its first argument
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
index 70ce1e3f..9a61964c 100644
--- a/libdiskfs/diskfs.h
+++ b/libdiskfs/diskfs.h
@@ -1,5 +1,7 @@
/* Definitions for fileserver helper functions
- Copyright (C) 1994,95,96,97,98,99,2001,02 Free Software Foundation, Inc.
+
+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2007, 2008,
+ 2009 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -79,7 +81,7 @@ struct node
/* Stat has been modified if one of the following four fields
is nonzero. Also, if one of the dn_set_?time fields is nonzero,
- the appropriate dn_stat.st_?time field needs to be updated. */
+ the appropriate dn_stat.st_?tim field needs to be updated. */
int dn_set_ctime;
int dn_set_atime;
int dn_set_mtime;
@@ -715,7 +717,7 @@ struct node *diskfs_make_node (struct disknode *dn);
This function is a wrapper for diskfs_lookup_hard.
*/
error_t diskfs_lookup (struct node *dp,
- char *name, enum lookup_type type,
+ const char *name, enum lookup_type type,
struct node **np, struct dirstat *ds,
struct protid *cred);
@@ -864,7 +866,11 @@ error_t diskfs_clear_directory (struct node *dp, struct node *pdp,
error_t
diskfs_init_dir (struct node *dp, struct node *pdp, struct protid *cred);
-/* If NP->dn_set_ctime is set, then modify NP->dn_stat.st_ctime
+/* If disk is not readonly and the noatime option is not enabled, set
+ NP->dn_set_atime. */
+void diskfs_set_node_atime (struct node *np);
+
+/* If NP->dn_set_ctime is set, then modify NP->dn_stat.st_ctim
appropriately; do the analogous operation for atime and mtime as well. */
void diskfs_set_node_times (struct node *np);
diff --git a/libdiskfs/file-utimes.c b/libdiskfs/file-utimes.c
index b87aa18e..39fac504 100644
--- a/libdiskfs/file-utimes.c
+++ b/libdiskfs/file-utimes.c
@@ -32,7 +32,8 @@ diskfs_S_file_utimes (struct protid *cred,
np->dn_set_atime = 1;
else
{
- np->dn_stat.st_atime = atime.seconds;
+ np->dn_stat.st_atim.tv_sec = atime.seconds;
+ np->dn_stat.st_atim.tv_nsec = atime.microseconds * 1000;
np->dn_set_atime = 0;
}
@@ -40,7 +41,8 @@ diskfs_S_file_utimes (struct protid *cred,
np->dn_set_mtime = 1;
else
{
- np->dn_stat.st_mtime = mtime.seconds;
+ np->dn_stat.st_mtim.tv_sec = mtime.seconds;
+ np->dn_stat.st_mtim.tv_nsec = mtime.microseconds * 1000;
np->dn_set_mtime = 0;
}
diff --git a/libdiskfs/fsys-getroot.c b/libdiskfs/fsys-getroot.c
index 54ba0a58..e083032e 100644
--- a/libdiskfs/fsys-getroot.c
+++ b/libdiskfs/fsys-getroot.c
@@ -186,10 +186,9 @@ diskfs_S_fsys_getroot (fsys_t controlport,
diskfs_release_peropen (newpo);
}
- mach_port_deallocate (mach_task_self (), dotdot);
-
if (! error)
{
+ mach_port_deallocate (mach_task_self (), dotdot);
*retry = FS_RETRY_NORMAL;
*retryname = '\0';
*returned_port = ports_get_right (newpi);
diff --git a/libdiskfs/io-pathconf.c b/libdiskfs/io-pathconf.c
index b851f9b1..38e277c3 100644
--- a/libdiskfs/io-pathconf.c
+++ b/libdiskfs/io-pathconf.c
@@ -41,6 +41,7 @@ diskfs_S_io_pathconf (struct protid *cred,
case _PC_PIPE_BUF:
case _PC_VDISABLE:
case _PC_SOCK_MAXBUF:
+ case _PC_PATH_MAX:
*value = -1;
break;
diff --git a/libdiskfs/io-reauthenticate.c b/libdiskfs/io-reauthenticate.c
index fd427e20..3c5da52d 100644
--- a/libdiskfs/io-reauthenticate.c
+++ b/libdiskfs/io-reauthenticate.c
@@ -53,9 +53,9 @@ diskfs_S_io_reauthenticate (struct protid *cred,
{
diskfs_finish_protid (newcred, user);
iohelp_free_iouser (user);
+ mach_port_deallocate (mach_task_self (), rend_port);
}
- mach_port_deallocate (mach_task_self (), rend_port);
mach_port_deallocate (mach_task_self (), newright);
mutex_unlock (&cred->po->np->lock);
diff --git a/libdiskfs/lookup.c b/libdiskfs/lookup.c
index d81a053e..1f2a2588 100644
--- a/libdiskfs/lookup.c
+++ b/libdiskfs/lookup.c
@@ -82,7 +82,7 @@ static spin_lock_t cm_lock = SPIN_LOCK_INITIALIZER;
This function is a wrapper for diskfs_lookup_hard. */
error_t
-diskfs_lookup (struct node *dp, char *name, enum lookup_type type,
+diskfs_lookup (struct node *dp, const char *name, enum lookup_type type,
struct node **np, struct dirstat *ds, struct protid *cred)
{
error_t err;
diff --git a/libdiskfs/node-times.c b/libdiskfs/node-times.c
index fa3a20a7..67f0142e 100644
--- a/libdiskfs/node-times.c
+++ b/libdiskfs/node-times.c
@@ -1,5 +1,7 @@
-/* Process st_?time updates marked for a diskfs node.
- Copyright (C) 1994,96,99,2000 Free Software Foundation, Inc.
+/* Process st_?tim updates marked for a diskfs node.
+
+ Copyright (C) 1994, 1996, 1999, 2000, 2007, 2009 Free Software Foundation,
+ Inc.
This file is part of the GNU Hurd.
@@ -22,7 +24,16 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "priv.h"
#include <maptime.h>
-/* If NP->dn_set_ctime is set, then modify NP->dn_stat.st_ctime
+/* If disk is not readonly and the noatime option is not enabled, set
+ NP->dn_set_atime. */
+void
+diskfs_set_node_atime (struct node *np)
+{
+ if (!_diskfs_noatime && !diskfs_check_readonly ())
+ np->dn_set_atime = 1;
+}
+
+/* If NP->dn_set_ctime is set, then modify NP->dn_stat.st_ctim
appropriately; do the analogous operation for atime and mtime as well. */
void
diskfs_set_node_times (struct node *np)
@@ -41,37 +52,22 @@ diskfs_set_node_times (struct node *np)
the update will happen at the next call. */
if (np->dn_set_mtime)
{
-#ifdef notyet
- np->dn_stat.st_mtimespec.ts_sec = t.tv_sec;
- np->dn_stat.st_mtimespec.ts_nsec = t.tv_usec * 1000;
-#else
- np->dn_stat.st_mtime = t.tv_sec;
- np->dn_stat.st_mtime_usec = t.tv_usec;
-#endif
+ np->dn_stat.st_mtim.tv_sec = t.tv_sec;
+ np->dn_stat.st_mtim.tv_nsec = t.tv_usec * 1000;
np->dn_stat_dirty = 1;
np->dn_set_mtime = 0;
}
if (np->dn_set_atime)
{
-#ifdef notyet
- np->dn_stat.st_atimespec.ts_sec = t.tv_sec;
- np->dn_stat.st_atimespec.ts_nsec = t.tv_usec * 1000;
-#else
- np->dn_stat.st_atime = t.tv_sec;
- np->dn_stat.st_atime_usec = t.tv_usec;
-#endif
+ np->dn_stat.st_atim.tv_sec = t.tv_sec;
+ np->dn_stat.st_atim.tv_nsec = t.tv_usec * 1000;
np->dn_stat_dirty = 1;
np->dn_set_atime = 0;
}
if (np->dn_set_ctime)
{
-#ifdef notyet
- np->dn_stat.st_ctimespec.ts_sec = t.tv_sec;
- np->dn_stat.st_ctimespec.ts_nsec = t.tv_usec * 1000;
-#else
- np->dn_stat.st_ctime = t.tv_sec;
- np->dn_stat.st_ctime_usec = t.tv_usec;
-#endif
+ np->dn_stat.st_ctim.tv_sec = t.tv_sec;
+ np->dn_stat.st_ctim.tv_nsec = t.tv_usec * 1000;
np->dn_stat_dirty = 1;
np->dn_set_ctime = 0;
}
diff --git a/libdiskfs/priv.h b/libdiskfs/priv.h
index de8c747a..07464d56 100644
--- a/libdiskfs/priv.h
+++ b/libdiskfs/priv.h
@@ -1,5 +1,7 @@
/* Private declarations for fileserver library
- Copyright (C) 1994,95,96,97,98,99,2001,2006 Free Software Foundation, Inc.
+
+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2006, 2009 Free
+ Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -33,7 +35,7 @@
/* These inhibit setuid or exec. */
extern int _diskfs_nosuid, _diskfs_noexec;
-/* This relaxes the requirement to set `st_atime'. */
+/* This relaxes the requirement to set `st_atim'. */
extern int _diskfs_noatime;
/* This enables SysV style group behaviour. New nodes inherit the GID