summaryrefslogtreecommitdiff
path: root/libtrivfs/ChangeLog
blob: c561d330e2c9f04243c2685758652123354126ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
Fri Aug 16 19:24:45 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* migsupport.c (trivfs_end_using_protid): Only call
	ports_port_deref if CRED is set.
	(trivfs_end_using_control): Likewise.

Thu Aug 15 16:14:33 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* io-pathconf.c (trivfs_S_io_pathconf): Implement by calling
	underlying node.

Thu Jul 18 23:14:44 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use noinstall
	version of ports_create_port.  Put it in the port set after the
	node has been fully initialized.

Sat Jul 13 20:15:56 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Repeat
 	ports_create_port, auth_server_authenticate, io_restrict_auth, and
 	*trivfs_protid_create_hook for as long as we get EINTR.  Deal with
 	other errors without crashing.

Sun Jul  7 16:06:37 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Don't use
 	MACH_MSG_TYPE_MOVE_SEND; it's unreliable.

Thu Jun 20 22:54:01 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* file-get-fs-options.c (trivfs_S_file_get_fs_options):
	Call trivfs_get_options, and package up the results.
	* fsys-get-options.c (trivfs_S_fsys_get_options): Likewise.
	* fsys-set-options.c (trivfs_S_fsys_set_options): Call
	trivfs_set_options.
	* set-options.c, get-options.c: New files.
	* trivfs.h: Add trivfs_set_options & trivfs_get_options.
	* Makefile (OTHERSRCS): Add set-options.c & get-options.c.

Wed Jun 19 21:29:45 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* trivfs.h (trivfs_runtime_argp): New declaration.
	* fsys-set-options.c (trivfs_S_fsys_set_options): Use
	trivfs_runtime_argp to parse options.
	* runtime-argp.c: New file.
	* Makefile (OTHERSRCS): Add runtime-argp.c.

Sat Jun 15 19:50:37 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* fsys-stubs.c (trivfs_S_fsys_set_options, trivfs_S_fsys_get_options,
 	trivfs_S_file_get_fs_options): Functions removed.
	* fsys-set-options.c, fsys-get-options.c, file-get-fs-options.c:
	New files.
	* Makefile (FSSRCS): Add file-get-fs-options.c
	(FSYSSRCS): Add fsys-set-options.c & fsys-get-options.c.

Thu May  9 20:03:28 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* io-identity.c: New file.
	* Makefile (IOSRCS): Add io-identity.c.
	* cntl-clean.c (trivfs_clean_cntl): Destroy filesys_id and file_id
 	members.
	* cntl-create.c (trivfs_create_control): Initialize filesys_id and
	file_id members of new control.
	* trivfs.h (trivfs_control): New members `filesys_id' and
 	`file_id'.

Thu May  9 16:58:31 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* file-get-storage-info.c (trivfs_S_file_get_storage_info): Change
	to new interface.

Thu May  9 15:32:38 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Don't send
 	right for CRED to auth_server_authenticate.

	* fsys-stubs.c (trivfs_S_fsys_get_options): Expect (and ignore)
 	reply port args.

	* file-syncfs.c (trivfs_S_file_syncfs): Provide new third arg to
 	file_sync.
	* fsys-syncfs.c (trivfs_S_fsys_syncfs): Likewise.
	* file-sync.c (trivfs_S_file_sync): Accept and pass through new
 	omitmeta parm.

	* file-statfs.c (trivfs_S_file_statfs): Use new struct statfs
 	format.

	* dir-rename.c (trivfs_S_dir_rename): Accept new excl parm.
	* dir-link.c (trivfs_S_dir_link): Likewise.

	* Makefile (OTHERSRCS): Delete handle-port.c.
	* trivfs.h (trivfs_handle_port): Delete declaration.
	* handle-port.c: Delete file.
	
Thu May  9 12:16:38 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* io-select.c (trivfs_S_io_select): Remove TAG arg.

Tue May  7 16:14:10 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* file-get-storage-info.c (trivfs_S_file_get_storage_info): Swap
	PORTS_TYPE and NUM_PORTS args.

Mon May  6 20:16:20 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* file-get-storage-info.c (trivfs_S_file_get_storage_info):
	Rewrite for new interface.

Mon Apr 29 15:19:26 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* handle-port.c: Comment out warning addition.

Sun Apr 28 15:22:16 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* handle-port.c: Add obsolescence link warning.

Thu Apr 11 18:03:31 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* Makefile (MIGSFLAGS): Reference fsmutations.h in $(srcdir).

Thu Jan 25 16:19:29 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* cntl-create.c (trivfs_create_control): New function.
	* trivfs.h (trivfs_create_control): New declaration.
	* startup.c (trivfs_startup): Use trivfs_create_control.
	* handle-port.c (trivfs_handle_port): Likewise.
	* Makefile (OTHERSRCS): Add cntl-create.c.

	* open.c (trivfs_open): Use ports_create_port instead of
	ports_allocate_port, and return any error.
	* protid-dup.c (trivfs_protid_dup): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.

Mon Jan 15 12:02:49 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* protid-clean.c (trivfs_clean_protid): Don't hold
	CRED->po->cntl->lock while calling TRIVFS_PEROPEN_DESTROY_HOOK.

SUN Nov  5 00:01:53 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* fsys-stubs.c (trivfs_S_fsys_get_options,
	trivfs_S_file_get_fs_options): New functions.

	* file-get-storage-info.c (trivfs_S_file_get_storage_info): Add
	FLAGS arg.

	* dir-chg.c (trivfs_S_dir_notice_changes): Waste some time adding
	reply port args that no one will use.
	* dir-link.c (trivfs_S_dir_link): Ditto.
	* dir-lookup.c (trivfs_S_dir_lookup): Ditto.
	* file-utimes.c (trivfs_S_file_utimes): Ditto.
	* file-statfs.c (trivfs_S_file_statfs)Ditto.
	* file-set-trans.c (trivfs_S_file_set_translator): Ditto.
	* file-lock.c (trivfs_S_file_lock, trivfs_S_file_lock_stat): Ditto.
	* file-getlinknode.c (trivfs_S_file_getlinknode): Ditto.
	* file-getfh.c (trivfs_S_file_getfh): Ditto.
	* file-get-transcntl.c (trivfs_S_file_get_translator_cntl): Ditto.
	* file-get-trans.c (trivfs_S_file_get_translator): Ditto.
	* file-get-storage-info.c (trivfs_S_file_get_storage_info): Ditto.
	* file-chown.c (trivfs_S_file_chown): Ditto.
	* file-chflags.c (trivfs_S_file_chflags): Ditto.
	* file-chg.c (trivfs_S_file_notice_changes): Ditto.
	* dir-unlink.c (trivfs_S_dir_unlink): Ditto.
	* dir-rmdir.c (trivfs_S_dir_rmdir): Ditto.
	* dir-rename.c (trivfs_S_dir_rename): Ditto.
	* dir-readdir.c (trivfs_S_dir_readdir): Ditto.
	* dir-mkfile.c (trivfs_S_dir_mkfile): Ditto.
	* dir-mkdir.c (trivfs_S_dir_mkdir): Ditto.
	* file-chmod.c (trivfs_S_file_chmod): Ditto.
	* file-chauthor.c (trivfs_S_file_chauthor): Ditto.

Wed Nov  1 15:53:38 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* startup.c (trivfs_startup): Add FLAGS arg, passed to fsys_startup.
	* trivfs.h (trivfs_startup): Add FLAGS arg.
	* fsys-stubs.c (trivfs_S_fsys_startup): Ditto.

Sat Oct  7 05:04:02 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* fsys-stubs.c (trivfs_S_fsys_getpriv): Add poly args.

	* Makefile (libtrivfs.so): Depend on ../libports/libports.so.

Fri Oct  6 17:44:08 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* migsupport.c: Remove leading _ from function names.
	* fsmutations.h: Likewise.
	* trivfs.h (trivfs_{begin,end}_using_{protid,control}): Declare them.

Fri Oct  6 17:28:07 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* dir-link.c (trivfs_S_dir_link): Swap first two arguments.

	* file-get-storage-info.c (trivfs_S_file_get_storage_info): Change
 	type of RUNS to off_t **, and add the BLOCK_SIZE parameter.

Thu Oct  5 00:41:33 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* Makefile (FSSRCS): Add file-get-storage-info.c.
	* file-get-storage-info.c: New file.

Mon Sep 18 14:29:37 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* file-set-size.c (trivfs_S_file_set_size): Renamed from
	file-truncate.c:trivfs_s_file_truncate.
	* io-pathconf.c (trivfs_S_io_pathconf): Renamed from
	file-pathconf.c:trivfs_S_file_pathconf.
	(trivfs_S_io_pathconf): Add reply port to args.
	* Makefile (FSSRCS): Remove file-pathconf.c.
	(IOSRCS): Add io-pathconf.c.
	(FSSRCS): Rename file-truncate.c to file-set-size.c.

Wed Sep  6 10:33:03 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* demuxer.c (trivfs_demuxer): Use ports_notify_server and
	ports_interrupt_server instead of our own versions.
	* Makefile (SRCS): Removed $(NOTIFYSRCS) and $(INTSRCS).
	(NOTIFYSRCS, INTSRCS): Removed.
	(MIGSTUBS): Removed notifyServer.o and interruptServer.o.
	* interrupt.c: File deleted.

Fri Aug 25 12:11:26 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* interrupt.c (trivfs_S_interrupt_operation): Use ports_interrupt_rpc.

Thu Aug 24 11:46:19 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* fsys-forward.c (trivfs_S_fsys_forward): New file.

Wed Aug 23 15:09:31 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* Makefile (REMHDRS): Removed.
	(FSYSSRCS): Added fsys-forward.c.

Mon Aug 21 15:25:36 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* handle-port.c (trivfs_handle_port): Initialize the hook field.
	* io-stat.c (trivfs_S_io_stat): Pass CRED to trivfs_modify_stat.
	* fsys-goaway.c (trivfs_S_fsys_goaway): Use new args for trivfs_goaway.
	* trivfs.h (struct trivfs_control): Add the hook field.
	(trivfs_goaway): Pass the control structure directly instead of
	random fields from it.
	(trivfs_modify_stat): Pass in the node as well.

Mon Aug 21 10:51:24 1995  Michael I. Bushnell, p/BSG  <mib@duality.gnu.ai.mit.edu>

	* protid-dup.c: Doc fix.

Fri Aug 11 14:01:41 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* open.c (trivfs_open): Actually set the PO field to what we create.
	* Makefile (OTHERSRCS): Add protid-dup.c and open.c.

Tue Aug  8 14:07:04 1995  Miles Bader  <miles@geech.gnu.ai.mit.edu>

	* open.c: New file, containing trivfs_open.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Guts (except for
	protection check) moved into trivfs_open.
	* protid-dup.c: New file, containing trivfs_protid_dup.
	* io-duplicate.c (trivfs_S_io_duplicate): Guts moved into
	trivfs_protid_dup.

	* trivfs.h (trivfs_protid_create_hook, trivfs_peropen_create_hook):
	Change the declarations now that these return an error code.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Allow
 	trivfs_protid_create_hook and trivfs_peropen_create_hook to return
 	an error code, and abort if either does.
	* protid-clean.c (trivfs_clean_protid): Only call
	trivfs_protid_destroy_hook hook on CRED if it was fully initialized.
	* io-duplicate.c (trivfs_S_io_duplicate): Allow
 	trivfs_protid_create_hook to return an error code.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Ditto.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Ditto.

Fri Jul 21 17:01:12 1995  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* fsys-getroot.c (trivfs_S_fsys_getroot): Free initial reference
	created by ports_allocate_port.
	* handle-port.c (trivfs_handle_port): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.

Sun Jul 16 13:00:44 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* trivfs.h: Protect against including twice, and add includes that
	we depend on.

Thu Jul  6 15:38:48 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* Makefile: Removed dependencies that are now automatically
 	generated.

Tue Jun 27 10:55:16 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>

	* fsys-goaway.c (trivfs_S_fsys_goaway): Call trivfs_goaway the new
        way.
	* startup.c (trivfs_startup): New parms CONTROL_BUCKET and
	PROTID_BUCKET; pass them to trivfs_handle_port.  Use new ports
	interface.
	* protid-clean.c (trivfs_clean_protid): Use new ports interface.
	Use PREdecrement in reference counting check.
	* nosenders.c (trivfs_do_mach_notify_no_senders): Use new ports
        interface.
	* migsupport.c (_trivfs_begin_using_protid,
	_trivfs_end_using_protid, _trivfs_begin_using_oontrol,
	_trivfs_end_using_control): Use new ports interface.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Use new ports
        interface.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use new ports
        interface.
	* io-duplicate.c (trivfs_S_io_duplicate): Use new ports interface.
	* handle-port.c (trivfs_handle_port): Take new parms; use new
	ports interface; initialize CNTL->protid_bucket.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Use new form of
        ports_allocate_port call.
	* trivfs.h (trivfs_protid_portclasses): Renamed from
	trivfs_protid_porttypes. Change type to `struct port_class *'.
	(trivfs_protid_nportclasses): Renamed from trivfs_protid_nporttypes.
	(trivfs_cntl_portclasses): Renamed from trivfs_cntl_porttypes.  Change
	type to `struct port_class *'.
	(trivfs_cntl_nportclasses): Renamed from trivfs_cntl_nporttypes.
	(trivfs_startup): Pass port classes instead of integer types.  New
	parms CONTROL_BUCKET and  PROTID_BUCKET.
	(trivfs_handle_port): Pass port classes instead of integer types.
	New parms CONTROL_BUCKET and PROTID_BUCKET.
	(trivfs_goaway): Pass port classes instead of integer types.
	(struct trivfs_control): Renamed member `protid_types' to be
	`protid_class' and changed type to be `stroct port_class *'.
	New member `protid_bucket'.

Fri May 12 19:05:46 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* fsys-stubs.c (trivfs_S_fsys_set_options,
	trivfs_S_fsys_mod_readonly): Change from mod_readonly to set_options.

Sun Apr  9 00:36:36 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>

	* io-stat.c (trivfs_S_io_stat): Before calling trivfs_modify_stat,
	set the st_fstype & st_fsid fields to trivfs_fstype & trivfs_fsid.
	But first, if trivfs_fsid is zero, set it to our process id, which
	should be a nice unique value.
	* file-statfs.c (trivfs_S_file_statfs): Ditto about the PID.

	* startup.c (trivfs_startup): New function, which implements a
	common sequence of steps when starting up a new trivfs.
	* trivfs.h: Declare trivfs_startup.
	* Makefile (OTHERSRCS): Add startup.c.

Thu Mar 30 12:27:59 1995  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* trivfs.h (trivfs_check_open_hook): Doc fix.
	(trivfs_complete_open): Delete declaration.
	(struct trivfs_control): Delete members `openshead' and
        `openstail'.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Strip out old
	hack for blocking.
	(struct pending_open): Delete type.
	(trivfs_complete_open): Delete function.

	* trivfs.h (struct trivfs_control): New member `lock'.
	* handle-port.c (trivfs_handle_port): Initialize CNTL->lock.
	* io-duplicate.c (trivfs_S_io_duplicate): Lock
	CRED->po->cntl->lock around relevant code.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* protid-clean.c (trivfs_clean_protid): Likewise.

Tue Jan 17 19:00:28 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* io-select.c: Updated for new io_select interface.

Fri Dec  9 01:35:54 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* io-write.c: Use mach_msg_type_number_t in place of unsigned int
        and int.
	* io-read.c: Likewise.
	* io-readable.c: Likewise.

Tue Oct 25 10:54:06 1994  Michael I Bushnell  <mib@churchy.gnu.ai.mit.edu>

	* fsys-getroot.c (trivfs_S_fsys_getroot): Don't clear O_NONBLOCK.

Tue Aug 30 13:23:55 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* fsys-syncfs.c: New file.
	* Makefile (FSYSSRCS): Added fsys-syncfs.c.
	* fsys-stubs.c (trivfs_S_fsys_mod_readonly): New function.

	* Makefile (FSSRCS): Remove dir-pathtrans.c; add dir-lookup.c.
	* dir-lookup.c: Renamed from dir-pathtrans.c
	* dir-pathtrans.c (trivfs_S_dir_lookup): Renamed from
	trivfs_S_dir_pathtrans.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Use FS_RETRY_NORMAL
	instead of FS_RETRY_NONE.
	(trivfs_complete_open): Likewise.

	* file-set-trans.c (trivfs_S_file_set_translator): Change to args
	as for new file_set_translator procotol.

Mon Aug 29 12:52:43 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use new
	authentication protocol.

Wed Aug 17 20:11:29 1994  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* io-select.c (trivfs_S_io_select): Take poly arg for notify port.

Thu Aug 11 11:58:48 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* io-version.c (trivfs_S_io_server_version): Fix typo in name.

Fri Jul 22 12:41:55 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* fsys-goaway.c: Include fsys_S.h with " not with <>.
	* handle-port.c: Include priv.h with " not with <>.

	* Makefile: Converted to use new scheme.
	* fsmutations.h (SERVERPREFIX): Deleted macro.
	* fsys-getroot.c: Include "fsys_reply_U.h" instead of "fsys_reply.h".

Wed Jul 20 15:59:36 1994  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* file-inv.c: New file.
	* Makefile (FSSRCS): Added file-inv.c.

Tue Jul 19 19:23:33 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-stubs.c (trivfs_S_fsys_startup): Deleted dotdot args.
	* fsys-getroot.c (trivfs_S_fsys_getroot): New arg `dotdot';
	don't do anything with it.

Mon Jul 11 14:49:03 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* trivfs.h (trivfs_set_atime, trivfs_set_mtime): New functions.
	* times.c: New file.
	* Makefile (OTHERSRCS): Added `times.c'.

Thu Jul  7 10:39:04 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* Makefile (DIST_FILES): Add priv.h.

Tue Jul  5 13:24:59 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* Makefile (DIST_FILES): Added fsmutations.h.
	(TAGSHDRS): New variable.

	* fsys-getroot.c: Include "fsys_reply.h".
	(trivfs_S_fsys_getroot, trivfs_complete_open):
	Uncomment code now that we have reply ports.
	(struct pending_open): Delete USERS_PORT, add CRED.
	(trivfs_S_fsys_getroot): When creating PENDO, don't call
	ports_get_right, call ports_port_ref; store CRED in PENDO.
	(trivfs_complete_open): Deal with errors properly.  When sending
	port to user, call ports_get_right.  Always call
	ports_done_with_port when freeing pending open struct.
	* Makefile (MIGSTUBS): Added fsys_replyUser.o.
	(fsys_reply.h fsys_replyUser.c): New rule.
	(fsys-getroot.c): Add dependency on fsys_reply.h.

	* fsmutations.h (REPLY_PORTS): New macro, affecting io and fsys
	interfaces.
	* io-async-icky.c (trivfs_S_io_get_icky_async_id): Added new
	REPLY and REPLYTYPE args.
	* io-async.c (trivfs_S_io_async): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-map.c (trivfs_S_io_map): Likewise.
	* io-modes-get.c (trivfs_S_io_get_openmodes): Likewise.
	* io-modes-off.c (trivfs_S_io_clear_some_openmodes): Likewise.
	* io-modes-on.c (trivfs_S_io_set_some_openmodes): Likewise.
	* io-modes-set.c (trivfs_S_io_set_all_openmodes): Likewise.
	* io-owner-get.c (trivfs_S_io_get_owner): Likewise.
	* io-owner-mod.c (trivfs_S_io_mod_owner): Likewise.
	* io-read.c (trivfs_S_io_read): Likewise.
	* io-readable.c (trivfs_S_io_readable): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* io-seek.c (trivfs_S_io_seek): Likewise.
	* io-select.c (trivfs_S_io_select): Likewise.
	* io-stat.c (trivfs_S_io_stat): Likewise.
	* io-stubs.c (trivfs_S_io_map_cntl): Likewise.
	(trivfs_S_io_get_conch): Likewise.
	(trivfs_S_io_release_conch): Likewise.
	(trivfs_S_io_eofnotify): Likewise.
	(trivfs_S_io_prenotify): Likewise.
	(trivfs_S_io_postnotify): Likewise.
	(trivfs_S_io_readsleep): Likewise.
	(trivfs_S_io_sigio): Likewise.
	(trivfs_S_io_readnotify): Likewise.
	* io-write.c (trivfs_S_io_write): Likewise.
	* io-version.c (trivfs_S_trivfs_io_server_version): Likewise.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* fsys-goaway.c (trivfs_S_fsys_goaway): Likewise.
	* fsys-stubs.c (trivfs_S_fsys_startup): Likewise.
	(trivfs_S_fsys_getpriv): Likewise.
	(trivfs_S_fsys_init): Likewise.
	(trivfs_S_fsys_getfile): Likewise.

Wed Jun 29 13:02:17 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* io-read.c (trivfs_S_io_read): Always return EOPNOTSUPP.
	* io-write.c (trivfs_S_io_write): Likewise.
	* file-truncate.c (trivfs_S_file_truncate): Likewise.
	* io-readable.c (trivfs_S_io_readable): Likewise.
	* io-select.c (trivfs_S_io_select): Likewise.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Use trivfs_allow_open
	instead of trivfs_support_* vars.

	* trivfs.h (trivfs_allow_open): New variable.

	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Delete unused var
	`newcred'.

Mon Jun 27 15:05:06 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-getroot.c: Comment out code for blocking opens; don't
	permit trivfs_check_open_hook to return EWOULDBLOCK.

Thu Jun 23 12:28:49 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-getroot.c (trivfs_S_fsys_getroot): Don't call
	ports_done_with_port for CNTL; the MiG destructor function does
	that for us.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Call trivfs_check_open_hook
	to allow trivfs users to block or restrict opens.
	* trivfs.h (trivfs_check_open_hook, trivfs_complete_open): New
	declarations.
	(struct trivfs_control): New members `openshead' and `openstail'.

Wed Jun 22 14:49:00 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* fsys-getroot.c (trivfs_S_fsys_getroot): Initialize both hook
	members to 0.
	* io-duplicate.c (trivfs_S_io_duplicate): Copy NEWCRED->hook
	from CRED->hook.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.

	* fsys-getroot.c (trivfs_S_fsys_getroot): Don't force read/write
	systems to redefine this function.  If O_foo is set, but
	trivfs_support_foo isn't, then return EACCES.  Call
	io_restrict_auth at the front so we can check open permission
	using the result.  Initialise CRED->po->openmodes.

	* trivfs.h (trivfs_peropen): New member `openmodes'.
	* io-modes-get.c (trivfs_S_io_get_openmodes): Set bits from
	CRED->po->openmodes, but only if we are not a read/write
	server; otherwise the server might be hiding bits elsewhere.

	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Strip out code; always
	return ENOTDIR.

Tue Jun 21 13:21:07 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* file-access.c: New file.
	* dir-chg.c: New file.
	* file-chg.c: New file.
	* Makefile (FSSRCS): Added file-access.c, dir-chg.c, and file-chg.c.

Mon Jun 20 14:42:12 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* dir-readdir.c (trivfs_S_dir_readdir): Declare args in accord
	with fs.defs interface change.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.  Set
	DO_RETRY and RETRY_NAME appropriately.
	* file-get-transcntl.c (trivfs_S_file_get_translator_cntl):
	CNTL_TYPE is a pointer.

Fri Jun 17 11:23:47 1994  Roland McGrath  (roland@geech.gnu.ai.mit.edu)

	* file-get-transcntl.c (trivfs_S_file_get_translator_cntl): Add
	missing poly arg.

Wed Jun 15 21:27:20 1994  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* dir-pathtrans.c: Include <string.h> for bcopy.
	* fsys-getroot.c: Likewise.
	* io-duplicate.c: Likewise.
	* io-reauthenticate.c: Likewise.
	* io-restrict-auth.c: Likewise.

Wed Jun 15 16:58:02 1994  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* trivfs.h (trivfs_goaway): New args REALNODE, CNTLTYPE,
	PROTIDTYPE.  All callers changed.

	* fsmutations.h (FSYS_DESTRUCTOR, FSYS_INTRAN): New macros.
	* priv.h (trivfs_control_t): New type.
	(_trivfs_begin_using_control, _trivfs_end_using_control): New
	declarations.
	* migsupport.c (_trivfs_begin_using_control,
	_trivfs_end_using_control): New functions.
	* fsys-getroot.c (trivfs_S_fsys_getroot): First arg is now
	`struct trivfs_control *'; don't call ports_check_port_type
	ourselves or ports_done_with_port.
	* fsys-goaway.c (trivfs_S_fsys_goaway): Likewise.
	* fsys-stubs.c (trivfs_S_fsys_startup, trivfs_S_fsys_getpriv,
	trivfs_S_fsys_init, trivfs_S_fsys_getfile): Declare first
	arg as `struct trivfs_control *'.

	* trivfs.h (trivfs_protid_porttype, trivfs_cntl_porttype):
	Deleted vars.
	(trivfs_protid_porttypes, trivfs_cntl_porttypes,
	trivfs_protid_nporttypes, trivfs_cntl_nporttypes): New vars.
	(trivfs_control): New member protidtypes.
	(trivfs_handle_port): New args PROTIDTYPE and CNTLTYPE.
	* migsupport.h (_trivfs_begin_using_protid): Check
	against all the members of trivfs_protid_porttypes.
	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Copy type of new port
	from existing port.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* handle-port.c (trivfs_handle_port): Allocate port of type
	from new arg CNTLTYPE.  Initialize CNTL->protidtypes from new arg
	PROTIDTYPE.
	* fsys-getroot (trivfs_S_fsys_getroot): Allocate port of type
	from CNTL->protidtypes.

	* trivfs.h (struct trivfs_protid) [hook]: New member.
	(trivfs_protid_create_hook, trivfs_peropen_create_hook,
	trivfs_protid_destroy_hook, trivfs_peropen_destroy_hook): New
	hook functions.
	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Call
	trivfs_peropen_create_hook.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* dir-pathtrans.c (trivfs_S_dir_pathtrans): Call
	trivfs_protid_create_hook.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* protid-clean.c (trivfs_clean_protid): Call
	trivfs_protid_destroy_hook and trivfs_peropen_destroy_hook.

	* trivfs.h (struct trivfs_protid) [po]: New member.
	(struct trivfs_protid) [cntl]: Deleted member.
	(struct trivfs_peropen): New type.
	* file-getcontrol.c (trivfs_S_file_getcontrol): Fetch control
	port through peropen structure.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Likewise.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Likewise.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Reference
	peropen, not cntl.
	* io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
	* io-duplicate.c (trivfs_S_io_duplicate): Likewise.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Create new peropen
	and reference it.
	* dir-pathtrans (trivfs_S_dir_pathtrans): Actually create new
	peropen and cred.
	* protid-clean.c (trivfs_clean_protid): Drop reference on peropen,
	deallocating it if necessary.

	* trivfs.h (struct trivfs_protid) [uids, gids, nuids, ngids]: New
	 members.
	* io-reauthenticate.c (trivfs_S_io_reauthenticate): Save received
	ids in newly created protid.
	* io-restrict-auth.c (listmember): New function.
	(trivfs_S_io_restrict_auth): Save uids and gids in newly created
	protid.
	* io-duplicate.c (trivfs_S_io_duplicate): Copy uids and gids.
	* protid-clean.c (trivfs_clean_protid): Free CRED->uids and
	CRED->gids.
	* fsys-getroot.c (trivfs_S_fsys_getroot): Initialize uids
	and gids.