summaryrefslogtreecommitdiff
path: root/libstore/ChangeLog
blob: 79bbf7463016427ebf0aef0310d300c72fbbaba1 (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
Tue Oct  8 14:31:51 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* kids.c (store_set_child_flags, store_clear_child_flags): New funcs.
	* store.h (store_set_child_flags, store_clear_child_flags): New decls.
	* stripe.c (stripe_set_flags, stripe_clear_flags): Remove functions.
	* remap.c (store_remap_class): Init set_flags & clear_flags fields.
	* stripe.c (store_ileave_class, store_concat_class): Likewise.

	* clone.c (store_clone): Copy name field.

Mon Oct  7 14:56:27 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* device.c (dev_set_flags, dev_clear_flags): New functions.
	(store_device_class): Add dev_set_flags & dev_clear_flags.
	(dopen, dclose, enforced): New functions.
	(store_device_open): Use dopen.
	* store.h <fcntl.h>: New include.
	* stripe.c (stripe_set_flags, stripe_clear_flags): New functions.
	(store_ileave_create, store_concat_create): Add common backend
	flags from children to parent's flags.

Sat Oct  5 00:23:45 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* create.c (store_create): Add special handling of STORE_INACTIVE
	in FLAGS.

Fri Oct  4 23:44:51 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* create.c (store_create): Free *STORE when store_set_flags fails.

	* store.h (STORE_INNOCUOUS, STORE_INACTIVE): New macros.
	(store_is_securely_returnable): New function.
	* zero.c (store_zero_create): Set STORE_INNOCUOUS flags.

Fri Sep 27 17:01:07 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* remap.c (store_remap): Zero SOURCE->end before calling _store_derive.
	Turn off STORE_ENFORCED flag in source if munging it.

	* device.c (store_device_open): Set *STORE's name appropriately.

Tue Sep 24 15:15:27 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* zero.c <limits.h>: New include.
	(zero_open): When no size is specified, use the maximum off_t
	value, not the maximum size_t value.

Mon Sep 23 12:55:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* storecat.c (main): Use new PARAMS var for passing args to STORE_ARGP.

Thu Sep 19 11:12:44 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp.c (parse_opt): Correctly check for non-default type.

	* kids.c (store_decode_children): Change CLASSES to **.
	* encode.c (store_encode): Make CLASS var const.
	* file.c (_store_file_create): Make CLASS arg const.
	* store.h (struct store): Make CLASS field const.
	(_make_store): Make CLASS arg const.
	* make.c (_make_store): Make CLASS arg const.
	* stripe.c (ileave_decode, concat_decode): Make CLASSES arg const.
	* remap.c (remap_decode): Likewise.
	* create.c (store_create): Likewise.

Wed Sep 18 15:14:51 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp.c (struct store_parsed): Change CLASSES field to be a pointer to
	a vector of class pointers.
	(find_class): Change CLASSES to be a vector of class pointers.
	* decode.c (store_decode): Change CLASSES to be a vector of class
	pointers.
	* store.h (struct store_class, struct store_argp_params, store_create,
 	store_open, store_decode, store_decode_children): Change CLASSES args
	to be a pointer to a vector of class pointers.
	(_store_add_std_class): Declaration removed.
	(STORE_STD_CLASS): Macro removed.
	* std.c (store_std_classes): Make an initialized array.
	(_store_add_std_class): Function removed.
	* device.c (store_device_class): Renamed from dev_class; export.
	* file.c (store_file_class): Renamed from file_class; export.
	(store_file_byte_class): Renamed from file_byte_class; export.
	* zero.c (store_zero_class): Renamed from zero_class; export.
	* remap.c (store_remap_class): Renamed from remap_class; export.
	* open.c (store_query_class): Renamed from query_class; export.
	* stripe.c (store_ileave_class): Renamed from ileave_class; export.
	(store_concat_class): Renamed from concat_class; export.

	* zero.c (zero_open, zero_validate_name): New functions.
	(zero_class): Use them.

	* argp.c (store_parsed_open): Remove CLASSES argument.
	(struct store_parsed): Make some fields const.
	* store.h (store_parsed_open): Remove CLASSES argument.

Tue Sep 17 14:48:48 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* store.h (struct store_class): Add OPEN and PARSE fields.
	(store_open): Make NAME const.
	(struct store_argp_params): New type.
	* device.c (dev_open): New function.
	(dev_class): Point to it.
	* file.c (fhile_open): New function.
	(file_class): Point to it.
	* argp.c (options, parse_opt): Add --store-type/-T & (hidden)
	--machdev/-m options, remove --device/-d option.
	(struct store_parsed): Rmove DEVICE field, add TYPE, DEFAULT_TYPE
	and CLASSES fields.
	(store_parsed_free): Free PARSED->type if it exists.
	(store_parsed_append_args): Use --store-type=... instead of --device.
	(store_parsed_open): When --store-type is specified, search
	CLASSES for that type, and call it's open function.
	* open.c (store_open): Make NAME const.
	(query_class): New variable.

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>.