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
|
1999-01-31 Roland McGrath <roland@baalperazim.frob.com>
* storeio.c (trivfs_modify_stat): Return S_IFCHR if block size is 1.
* storeio.c (trivfs_modify_stat): Return S_IFCHR iff inhibit_cache
set, otherwsie S_IFBLK. For a block-addressed device, S_IFCHR means
"must do whole-block i/o".
1999-01-28 Roland McGrath <roland@baalperazim.frob.com>
* io.c (trivfs_S_file_syncfs): Fix inverted test.
Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.
1999-01-27 Roland McGrath <roland@baalperazim.frob.com>
* storeio.c (options): New option -c/--no-cache.
(inhibit_cache): New variable.
(parse_opt): Make -c set it.
(trivfs_append_args): Report --no-cache if set.
(check_open_hook): Pass inhibit_cache flag to dev_open.
* dev.h (struct dev): New member `inhibit_cache'.
(dev_open): Update decl.
* dev.c (dev_open): Take new arg inhibit_cache, store in new dev.
If set, don't initialize buf_offs, io_lock, pager, pager_lock.
(dev_read, dev_write): If DEV->inhibit_cache is set, allow only
whole-block i/o: EINVAL for non-whole-block attempts.
* pager.c (dev_get_memory_object): If DEV->inhibit_cache is set, don't
make our own pager; if store_map returns EOPNOTSUPP, so do we.
1998-10-20 Roland McGrath <roland@baalperazim.frob.com>
* dev.c (dev_buf_fill): Add braces to silence gcc warning.
1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
* storeio.c (main): Fix return type to int, and use return.
Wed Aug 20 14:07:05 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* pager.c (dev_get_memory_object): Deal with errors from
pager_create properly.
* pager.c (service_paging_requests): New args for
ports_manage_port_operations_multithread.
* storeio.c (main): Likewise.
1997-07-23 Miles Bader <miles@gnu.ai.mit.edu>
* io.c (trivfs_S_io_readable, trivfs_S_io_read, trivfs_S_io_map):
Return EBADF instead of EINVAL.
(trivfs_S_io_select): Don't bother returning EBADF.
1997-07-22 Miles Bader <miles@gnu.ai.mit.edu>
* io.c (trivfs_S_io_read): Return EINVAL instead of EBADF.
(trivfs_S_io_map): Return EINVAL if CRED cannot be read or written.
1997-07-21 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (HURDLIBS): Add iohelp.
1997-07-17 Miles Bader <miles@gnu.ai.mit.edu>
* io.c (trivfs_S_io_map): Pass PROT argument to dev_get_memory_object.
* pager.c (dev_get_memory_object): Add PROT arg. Use store_map.
* dev.h (dev_get_memory_object): Add PROT arg.
1997-07-16 Miles Bader <miles@gnu.ai.mit.edu>
* pager.c (pager_read_page): Initialize READ to 0.
* pager.c (dev_get_memory_object): Implement correctly.
(dev_stop_paging): Work entirely by flushing user pagers; don't kill pager.
(pager_clear_user_data): Zero our pointer to the pager.
* io.c (trivfs_S_io_map): Make sure there are enough references to
MEMOBJ for both read & write ports.
Wed Feb 19 21:42:45 1997 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (fsys_port_class, root_port_class, port_bucket,
trivfs_protid_portclasses, trivfs_protid_nportclasses,
trivfs_cntl_portclasses, trivfs_cntl_nportclasses): Variables removed.
(main): Don't set or use port class/bucket variables, let
trivfs_startup do it.
Add FSYS variable.
(doc): Make an initialized array.
(parse_opt): New function (was nested in main).
(argp, argp_kids): New variables (were nested in main).
(trivfs_goaway): Get ROOT_PORT_CLASS from FSYS.
Fri Nov 15 17:54:10 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* storeio.c (trivfs_check_open_hook): New arg syntax.
(check_open_hook): Likewise.
Thu Oct 24 16:24:53 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (main): Use elements of type `struct argp_child' for KIDS.
Mon Oct 7 16:38:06 1996 Miles Bader <miles@gnu.ai.mit.edu>
* io.c (trivfs_S_file_get_storage_info): If necessary to enforce
security, make a copy of STORE and inactivate it before returning.
Thu Sep 26 14:26:17 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (trivfs_S_file_check_access): Function removed (trivfs
default is now sufficient).
Tue Sep 24 15:52:04 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (trivfs_S_file_check_access): New function.
(check_open_hook): Return EROFS if O_WRITE on a readonly device.
Mon Sep 23 17:21:23 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (trivfs_append_args): Make ARGZ_LEN of type `size_t *'.
Narrow scope of BUF.
<argz.h>: New include.
Thu Sep 19 18:12:48 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (trivfs_append_args): New function.
Wed Sep 18 15:16:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* io.c (trivfs_S_io_read, trivfs_S_io_write): Use void * buffers.
* open.h (open_read, open_write): Likewise.
* open.c (open_read, open_write): Likewise.
* dev.h (struct dev, dev_read, dev_write): Likewise.
* dev.c (dev_buf_fill, dev_read, dev_write): Likewise.
* pager.c (pager_read_page): Cast BUF into void ** for dev_read.
* storeio.c (main): Use STORE_PARAMS variable to get result from
parsing STORE_ARGP.
* dev.c (dev_open): Remove CLASSES argument to store_parsed_open.
Thu Sep 19 17:18:11 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): New variable.
(storeio): Deleted special dependencies.
Fri Sep 13 11:05:06 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storeio.c (argp_program_version): New variable.
<version.h>: New include.
Tue Sep 10 17:13:55 1996 Miles Bader <miles@gnu.ai.mit.edu>
* dev.c (dev_rw): Return EINVAL instead of EIO for too-large offsets.
* dev.c (dev_open, dev_close): Remove ifdef'd-out code for allocating
DEV's buffer with valloc; other things depend on it being vm_allocated.
* io.c (trivfs_S_file_get_storage_info): Use store_return.
|