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
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
|
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
* startup.c (trivfs_startup): Don't use MAKE_SEND in Hurd RPC.
2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use
ports_get_send_right.
1999-11-08 Roland McGrath <roland@baalperazim.frob.com>
* io-write.c: Include <fcntl.h>.
* fsys-getroot.c (trivfs_S_fsys_getroot): Fix typo.
* io-write.c (trivfs_S_io_write): Return EBADF if trivfs_allow_open
doesn't include O_WRITE.
* io-modes-get.c (trivfs_S_io_get_openmodes): Remove assert.
The default implementation ought to be fine for this.
* io-owner-get.c (trivfs_S_io_get_owner): Remove asserts.
It is entirely reasonable to have EOPNOTSUPP be the default
implementation for these calls that files are not obligated to provide.
* io-owner-mod.c (trivfs_S_io_mod_owner): Likewise.
* io-map.c (trivfs_S_io_map): Likewise.
* io-async.c (trivfs_S_io_async): Likewise.
* io-async-icky.c (trivfs_S_io_get_icky_async_id): Likewise.
* fsys-getroot.c (trivfs_S_fsys_getroot): Return EROFS or EACCES for a
disallowed open attempt, instead of EOPNOTSUPP. EOPNOTSUPP results in
the confusing result of ENOTDIR being delivered to the user.
1999-10-11 Roland McGrath <roland@baalperazim.frob.com>
* dir-readdir.c (trivfs_S_dir_readdir): Take DATA_DEALLOC parameter.
* dir-lookup.c (trivfs_S_dir_lookup): Duplicate CRED->user to pass it
to trivfs_open. Add ref to CRED->realnode when used by trivfs_open.
* trivfs.h (trivfs_open_hook): New variable.
* fsys-getroot.c (trivfs_S_fsys_getroot): Use it.
1999-09-13 Roland McGrath <roland@baalperazim.frob.com>
* Makefile, io-map.c, io-map-segment.c: Reverted changes related to
io_map_segment.
1999-09-07 Thomas Bushnell, BSG <tb@mit.edu>
* io-map-segment.c (trivfs_S_io_map): New file.
* io-map.c (trivfs_S_io_map): Just call trivfs_S_io_map_segment.
* Makefile (IOSRCS): Add io-map-segment.c.
Mon Mar 15 14:36:33 1999 Thomas Bushnell, BSG <tb@mit.edu>
* migsupport.c (trivfs_begin_using_protid): In first branch,
protect work against PI being null, and call ports_port_deref with
the proper value.
(trivfs_begin_using_control): Likewise.
Reported by Mark Kettenis (kettenis@wins.uva.nl).
1999-02-06 Mark Kettenis <kettenis@gnu.org>
* trivfs.h (trivfs_check_access_hook): New variable.
* fsys-getroot.c (trivfs_S_fsys_getroot): Use
trivfs_check_acces_hook.
* dir-lookup.c (trivfs_S_dir_lookup): Likewise.
* file-access.c (trivfs_S_file_check_access): Likewise.
1999-02-16 Roland McGrath <roland@baalperazim.frob.com>
* io-revoke.c: Add reply, reply_type args.
Tue Feb 16 05:47:57 1999 Thomas Bushnell, BSG <tb@mit.edu>
* io-revoke.c: New file.
* Makefile (IOSRCS): Add io-revoke.c.
1999-02-12 Gordon Matzigkeit <gord@trick.fig.org>
* open.c (trivfs_open): Add missing `=' from last change.
1999-02-05 Mark Kettenis <kettenis@gnu.org>
* open.c (trivfs_open): Correctly initialize NEW->isroot.
Sun Jan 31 18:29:22 1999 Thomas Bushnell, BSG <tb@mit.edu>
* times.c (trivfs_set_atime, trivefs_set_mtime): Take advantage of
new semantics for file_utimes.
1998-08-20 Roland McGrath <roland@baalperazim.frob.com>
* file-get-fs-options.c (trivfs_S_file_get_fs_options):
fshelp_return_malloced_buffer renamed to iohelp_*.
* fsys-get-options.c (trivfs_S_fsys_get_options): Likewise.
1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
* dir-lookup.c (trivfs_S_dir_lookup): Fix brainos in last change.
Tue Jul 14 16:47:28 1998 Thomas Bushnell, n/BSG <tb@mit.edu>
* dir-lookup.c (trivfs_S_dir_lookup): In null-pathname case, this
should work even for non-directories, so actually do it, making
this a simpler case of trivfs_S_fsys_getroot.
Thu Feb 20 13:13:13 1997 Miles Bader <miles@gnu.ai.mit.edu>
* protid-classes.c (trivfs_protid_portclasses,
trivfs_protid_nportclasses): Make common.
* cntl-classes.c (trivfs_cntl_portclasses,
trivfs_cntl_nportclasses): Likewise.
Tue Feb 18 19:47:16 1997 Miles Bader <miles@gnu.ai.mit.edu>
* cntl-create.c (trivfs_create_control): Put the actual port
creation call back in!
Fri Feb 14 02:10:50 1997 Miles Bader <miles@gnu.ai.mit.edu>
* dyn-classes.c: New file.
* cntl-create.c (trivfs_create_control): Possibly allocate and add
the port classes/buckets to the list of ones recognized by trivfs.
* migsupport.c
(trivfs_begin_using_protid): Support dynamic protid port classes.
(trivfs_begin_using_control): Support dynamic control port classes.
* cntl-clean.c (trivfs_clean_cntl): Clean up dynamic port
classes/buckets.
* trivfs.h (trivfs_add_control_port_class,
trivfs_add_protid_port_class, trivfs_add_port_bucket,
trivfs_remove_control_port_class, trivfs_remove_protid_port_class,
trivfs_remove_port_bucket): New declarations.
Doc fixes.
* priv.h (trivfs_dynamic_protid_port_classes,
trivfs_num_dynamic_protid_port_classes,
trivfs_dynamic_control_port_classes,
trivfs_num_dynamic_control_port_classes,
trivfs_dynamic_port_buckets, trivfs_num_dynamic_port_buckets):
New declarations.
* Makefile (OTHERSRCS): Add dyn-classes.c, protid-classes.c, &
cntl-classes.c.
Thu Feb 13 18:30:45 1997 Miles Bader <miles@gnu.ai.mit.edu>
* trivfs.h (trivfs_getroot_hook): New declaration.
* fsys-getroot.c (trivfs_S_fsys_getroot): Use trivfs_getroot_hook.
* Makefile (FSSRCS): Replace dir-reparent.c by file-reparent.c.
Mon Jan 20 16:37:04 1997 Miles Bader <miles@gnu.ai.mit.edu>
* dir-reparent.c (trivfs_S_dir_reparent): New file.
* Makefile (FSSRCS): Add dir-reparent.c.
Tue Nov 19 22:36:49 1996 Miles Bader <miles@gnu.ai.mit.edu>
* io-stat.c (trivfs_S_io_stat): Clear S_ITRANS and set S_IROOT in
ST->st_mode (before calling trivfs_modify_stat).
Mon Nov 18 18:13:42 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* io-stat.c (trivfs_S_io_stat): Make the mode specify IFCHR by
default.
Sat Nov 16 17:20:15 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): Add `iohelp'.
Thu Nov 14 13:13:10 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* io-restrict-auth.c (trivfs_S_io_restrict_auth): idvec_set ->
idvec_set_ids. Fix unrelated typos.
* protid-dup.c (trivfs_protid_dup): Use iouser_dup_iouser instead
of copying old arrays by hand.
* protid-clean.c (trivfs_clean_protid): Free CRED->user instead of
CRED->uids and CRED->gids.
* io-reauthenticate.c (trivfs_S_io_reauthenticate): Args for
io_restrict_auth now come from the new structure definitions.
* open.c (trivfs_open): Pass correct first arg to idvec_contains.
* open.c (trivfs_open): Delete variable I.
* trivfs.h: Include <hurd/iohelp.h>
Thu Nov 7 17:05:02 1996 Miles Bader <miles@gnu.ai.mit.edu>
* io-restrict-auth.c (trivfs_S_io_restrict_auth): If CRED has
root, use the requested id sets verbatim.
Thu Nov 7 01:01:05 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* io-restrict-auth.c (trivfs_S_io_restrict_auth): Rewrite to use
idvecs.
Wed Nov 6 23:40:50 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* trivfs.h (struct trivfs_protid): Delete members `uids', `gids',
`nuids', and `ngids'. Replace with `user'.
(trivfs_check_open_hook): Delete args `uids', `nuids', `gids',
`ngids'. Replace with new arg `user'. All callers changed.
(trivfs_open): Likewise.
* open.c (trivfs_open): Change to match new declaration.
* trivfs.h (struct trivfs_protid): Delete members `uids', `gids',
* io-reauthenticate.c (trivfs_S_io_reauthenticate): Use new
iohelp_reauth call.
Thu Sep 26 14:25:29 1996 Miles Bader <miles@gnu.ai.mit.edu>
* file-access.c (trivfs_S_file_check_access): Return
CRED->realnode's access bits rather than always 0.
Mon Sep 23 17:20:08 1996 Miles Bader <miles@gnu.ai.mit.edu>
* file-get-fs-options.c <argz.h>: New include.
* trivfs.h (trivfs_append_args): Make ARGZ_LEN `size_t *'.
* append-args.c (trivfs_append_args): Likewise.
Thu Sep 19 18:00:42 1996 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (HURDLIBS): Add shouldbeinlibc.
Wed Sep 18 12:47:54 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fsys-get-options.c (trivfs_S_fsys_get_options): Initialize ARGZ
with the program name, and call trivfs_append_args instead of
trivfs_get_options.
* file-get-fs-options.c (trivfs_S_file_get_fs_options): Likewise.
* trivfs.h (trivfs_append_args): New declaration.
(trivfs_get_options): Declaration removed.
* Makefile (OTHERSRCS): Replace get-options.c with apend-args.c.
* append-args.c (trivfs_append_args): New file.
Thu Sep 12 16:23:15 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): New variable.
(libtrivfs.so): Delete special depedency.
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.
|