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.

