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
|
Fri Sep 13 14:33:24 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (store_parsed_append_args, store_parsed_open, struct
store_parsed): Use `device' instead of `machdev'.
* encode.c (store_return): Only call store_enc_dealloc upon failure.
(store_std_leaf_allocate_encoding): NUM_OFFSETS is NUM_RUNS * 2.
* enc.c (store_enc_return): Don't call store_enc_dealloc.
Thu Sep 12 17:23:35 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storecat.c (main): Limit reads to 1M, and iterate until done.
Use store_parsed_name to get store name for errors.
Add program description.
* store.h (STORAGE_REMAP, STORAGE_ZERO): New macros (temporary, to
avoid touching hurd/hurd_types.h).
1996-09-12 Miles Bader <miles@gnu.ai.mit.edu>
* remap.c (store_remap): Call _store_derive after changing runs.
* argp.c (store_parsed_name): New function.
Wed Sep 11 12:38:44 1996 Miles Bader <miles@gnu.ai.mit.edu>
* decode.c (store_with_decoded_runs): New function.
(store_std_leaf_decode): Call it.
* store.h (store_with_decoded_runs): New declaration.
* stripe.c (ileave_class, concat_class): Initialize the REMAP field.
(stripe_remap): New function.
* store.h (store_remap_create): New declaration.
* zero.c (zero_remap): New function.
(zero_class): Initialize remap field with zero_remap.
* Makefile (SRCS): Add remap.c.
* zero.c: New file, from null.c.
* null.c: File removed.
* store.h (store_zero_create): Renamed from store_null_create.
* Makefile (SRCS): Replace null.c by zero.c.
Tue Sep 10 17:05:03 1996 Miles Bader <miles@gnu.ai.mit.edu>
* remap.c: New file.
* store.h (struct store_class): Add remap field.
(store_remap): New declaration.
* encode.c (store_return): New function.
* enc.c (store_enc_return, store_return): New functions.
* store.h (store_enc_return, store_return): New declarations.
Mon Sep 9 12:32:11 1996 Miles Bader <miles@gnu.ai.mit.edu>
* rdwr.c (store_write, store_read): Use void * for buffers, not char *.
* device.c (dev_write, dev_read): Likewise.
* file.c (file_read, file_write, file_byte_read, file_byte_write):
Likewise.
* stripe.c (stripe_read, stripe_write): Likewise.
* null.c (null_read, null_write): Likewise.
* store.h (store_write_meth_t, store_read_meth_t, store_read,
store_write): Make type of buffer void *, not char *.
Sun Sep 8 14:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* device.c (dev_read, dev_write): Don't print debugging messages.
* argp.c (options, parse_opt): Change short option names around.
Wed Sep 4 13:01:19 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (parse_opt): --layer isn't implemented, so say so.
* storeread.c (main): Add new args to store_*_create calls.
* storecat.c (main): Use new interface to store_argp.
Wed Sep 3 11:00:00 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (struct store_parsed): New type.
(store_parsed_free, store_parsed_append_args, store_parsed_open):
New functions.
(parse_opt): Use new store_parsed structure instead of the old
store_pars_hook, and just fill in the names rather than doing the
open here. Don't take a struct store_argp_params as input any
more; instead just take the address of a location in which to
return a store_parsed structure.
(struct store_parse_hook): Type removed.
(free_hook, open_file): Functions removed.
<assert.h>: New include.
<stdlib.h>, <fcntl.h>: Includes removed.
(options): --machdev/-m renamed to --device/-D.
* store.h (struct store): Make log2_* fields unsigned.
(STORE_NO_FILEIO): New macro.
(STORE_HARD_READONLY, STORE_ENFORCED): Values changed.
(STORE_GENERIC_FLAGS): Add STORE_NO_FILEIO.
(struct store_argp_params): Type removed.
(store_parsed_Free, store_parsed_open, store_parsed_append_args):
New declarations.
(struct store_parsed): New incomplete type.
Mon Sep 2 18:56:26 1996 Miles Bader <miles@gnu.ai.mit.edu>
* store.h (store_open): New declaration.
* open.c: New file.
* Makefile (SRCS): Add open.c.
Wed Aug 21 14:40:15 1996 Miles Bader <miles@gnu.ai.mit.edu>
* device.c (store_device_open): Don't call store_device_create if
device_open fails.
Tue Aug 20 14:37:33 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (free_hook): Free H->params->args if necessary.
(parse_opt): Initialize and fill in H->params->args when appropriate.
<argz.h>: New include.
Mon Aug 19 14:31:33 1996 Miles Bader <miles@gnu.ai.mit.edu>
* store.h (struct store_argp_params): Add return_args, args, &
args_len fields.
Fri Jul 19 16:16:46 1996 Miles Bader <miles@gnu.ai.mit.edu>
* decode.c (store_std_leaf_decode): Decode name too.
Deal with NAME_LENGTH being 0.
Sun Jun 16 22:49:55 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (parse_opt): Use argp_failure.
Thu May 23 10:54:06 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (parse_opt): Honor ARGP_NO_ERRS.
<error.h>: New include.
Wed May 22 00:14:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (parse_opt): Use error instead of ERR for non-parsing errors.
Rename ERR to PERR.
Tue May 21 00:01:02 1996 Miles Bader <miles@gnu.ai.mit.edu>
* storecat.c (main): Delete most everything and use store arg parsing.
(options, doc, args_doc): Variables removed.
* create.c (store_create): Add FLAGS & CLASSES params.
* rdwr.c (store_write): Return an error if STORE is readonly.
* decode.c (store_decode): Add CLASSES param, use it instead of big
hardwired switch statement.
(store_default_leaf_decode): Use typedef for CREATE param. Pass in
FLAGS arg when calling it.
* encode.c (store_std_leaf_allocate_encoding): Renamed from
store_default_leaf_allocate_encoding. Make STORE const.
(store_std_leaf_encode): Renamed from store_default_leaf_encode.
Make STORE const. Get class id from store->class->id.
(store_encode): Use CLASS field instead of METHS field.
* clone.c (store_clone): Copy the flags by passing them to _make_store.
Use CLASS field instead of METHS field.
* file.c (store_file_open, file_decode): New functions.
(store_file_create): Always set STORE_ENFORCED.
(file_class): Renamed from file_meths. Add more fields. Make std
with _STORE_STD_CLASS.
(file_byte_class): Renamed from file_byte_meths.
<fcntl.h>, <hurd.h>: New includes.
* device.c (store_device_open, dev_decode): New functions.
(store_device_create): Always set STORE_ENFORCED.
(device_class): Renamed from device_meths. Add more fields. Make std
with _STORE_STD_CLASS.
<hurd.h>: New include.
* stripe.c (ileave_allocate_encoding, ileave_encode, ileave_decode,
concat_allocate_encoding, concat_encode, concat_decode): New functions.
(concat_class): New variable.
(ileave_class): Renamed from stripe_class. More fields added.
* store.h (struct store): Remove CLASS field. METHS field renamed
CLASS.
(STORE_IMMUTABLE_FLAGS, STORE_GENERIC_FLAGS, STORE_BACKEND_SPEC_BASE,
STORE_BACKEND_FLAGS, STORE_READONLY, STORE_HARD_READONLY,
STORE_ENFORCED): New macros.
(struct store_class): Renamed from store_meths; all uses changed.
Add ID, NAME, DECODE, SET_FLAGS, CLEAR_FLAGS, and NEXT fields.
(store_std_leaf_decode): Renamed from store_default_leaf_decode.
(store_std_leaf_create_t): New type.
(_STORE_STD_CLASS): New macro.
(struct store_argp_params): READONLY field deleted, FLAGS field added.
(store_allocate_child_encodings, store_encode_children,
store_decode_children, store_set_flags, store_clear_flags,
store_file_open, store_device_open, store_null_create,
store_std_classes, _store_add_std_class,
store_allocate_child_encodings, store_encode_children,
store_decode_children): New declarations
(store_decode, store_create, store_device_create, _store_device_create,
store_file_create, _store_file_create, store_ileave_create,
store_concat_create, _make_store): Declarations updated.
* make.c (_make_store): CLASS param removed, METHS param renamed
CLASS; all callers changed. FLAGS param added.
* stripe.c (store_ileave_create, store_concat_create): Likewise.
* file.c (store_file_create, _store_file_create): Likewise.
* device.c (store_device_create, _store_device_create): Likewise.
* argp.c (open_machdev): Function removed.
(parse_opt): Use store_device_open instead of open_machdev.
(open_file, parse_opt): Add FLAGS arg to various function calls.
* set.c (store_set_children): Function moved to kids.c.
* null.c, flags.c, std.c, kids.c: New files.
* Makefile (SRCS): Add null.c, flags.c, std.c, & kids.c.
Sun May 12 10:12:24 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c (store_parse_opt): Put result in the passed-in params struct.
Pass hook to open_{file,machdev}.
(open_machdev): Use params to determine readonly-ness.
(open_file): New function.
* store.h (store_argp): New declaration.
(struct store_argp_params): New type.
* Makefile (SRCS): Add argp.c.
* create.c (store_create): Steal SOURCE instead of cloning it.
Sat May 11 01:17:39 1996 Miles Bader <miles@gnu.ai.mit.edu>
* argp.c: New file.
* storeread.c (parse_opt): Use ARGP_ERR_UNKNOWN instead of EINVAL.
* storecat.c (parse_opt): Likewise.
Fri May 10 13:23:36 1996 Miles Bader <miles@gnu.ai.mit.edu>
* store.h (struct store_run): New type.
(struct store): RUNS is a vector of runs, not offsets.
(_store_device_create, _store_file_create, _make_store,
store_set_runs, store_default_leaf_decode): Update declaration.
* rdwr.c (store_find_first_run, store_next_run, store_write,
store_read): Use store_run, not off_t, vectors; tweak accordingly.
Rename variables called `RUNS' to `RUN', because although they're
always vectors, they're used more often for their first element.
* derive.c (_store_derive): Use store_run, not off_t, vectors; tweak
accordingly.
* device.c (store_device_create, _store_device_create): Likewise.
* set.c (store_set_runs): Likewise.
* storecat.c (main): Likewise.
* storeread.c (main): Likewise.
* make.c (_make_store): Likewise.
* stripe.c (store_ileave_create, store_concat_create): Likewise.
* file.c (store_file_create, _store_file_create): Likewise.
* decode.c (store_default_leaf_decode): Convert the slice of the
offset vector we're using into a vector of store_runs to pass to
CREATE. Change type of CREATE accordingly.
* encode.c (store_default_leaf_encode): Convert from the store_run
vector to a off_t vector for encoding.
* create.c (store_create): Use the real file_get_storage_info.
(fgsi): Function removed.
* store.h (struct store): Add CHILDREN & NUM_CHILDREN fields.
Rename RUNS_LEN to NUM_RUNS (all uses changed).
(store_set_children): New declaration.
* make.c (_make_store): Initialize CHILDREN & NUM_CHILDREN.
(store_free): Free all children too.
* clone.c (store_clone): Clone children too.
* set.c (store_set_children): New function.
* stripe.c (store_ileave_create, store_concat_create): Use
store_set_children.
(stripe_clone): Function removed.
(stripe_read, stripe_write): Get stripes from CHILDREN, not HOOK.
* Makefile (storeread, storecat): Remove explicit dependency on
program object file.
Put include of ../Makeconf before dependencies.
Mon May 6 15:20:53 1996 Miles Bader <miles@gnu.ai.mit.edu>
* store.h: Move big comment describing file_get_storage_info
encoding to <hurd/hurd_types.h>.
|