aboutsummaryrefslogtreecommitdiff
path: root/libstore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libstore/ChangeLog')
-rw-r--r--libstore/ChangeLog716
1 files changed, 716 insertions, 0 deletions
diff --git a/libstore/ChangeLog b/libstore/ChangeLog
new file mode 100644
index 00000000..74f6bcb4
--- /dev/null
+++ b/libstore/ChangeLog
@@ -0,0 +1,716 @@
+1999-11-20 Roland McGrath <roland@baalperazim.frob.com>
+
+ * store.h (struct store_class): Add const to type of `name' member.
+
+1999-11-14 Roland McGrath <roland@baalperazim.frob.com>
+
+ * device.c (dev_error): New static function.
+ Translate all expected D_* codes into POSIX codes.
+ (dev_read, dev_write, dev_open): Use it.
+
+1999-10-07 Roland McGrath <roland@baalperazim.frob.com>
+
+ * rdwr.c (store_read, store_write): Fix asserts in last change.
+
+1999-10-03 Roland McGrath <roland@baalperazim.frob.com>
+
+ * rdwr.c (store_read, store_write): Fix calculations broken in last
+ change, so they again properly account for starting intrarun offset.
+
+1999-09-09 Roland McGrath <roland@baalperazim.frob.com>
+
+ * rdwr.c (store_write, store_read): Carefully avoid scaling run
+ lengths from blocks to bytes except when we're already sure the
+ run's size in bytes won't overflow size_t.
+
+1999-07-11 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * argp.c (store_parsed_open): Add more braces to clarify if-else
+ structure.
+
+ * encode.c: Include <sys/mman.h>
+ * zero.c: Likewise.
+
+ * encode.c (store_encode): Repair syntax.
+ * copy.c (copy_read): Likewise.
+
+ * enc.c (store_enc_dealloc): Cast first arg of munmap correctly.
+
+1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
+
+ * rdwr.c: Add #include <sys/mman.h> for munmap decl.
+ * enc.c: Likewise.
+ * copy.c: Likewise.
+ * gunzip.c: Likewise.
+ * bunzip2.c: Likewise.
+
+1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * bunzip2.c (bunzip2): Use mmap instead of vm_allocate.
+ * copy.c (copy_read): Likewise.
+ (copy_clone): Likewise.
+ * encode.c (store_encode): Likewise.
+ * gunzip.c (gunzip): Likewise.
+ * rdwr.c (store_read): Likewise.
+ * zero.c (zero_read): Likewise.
+
+1999-07-08 Roland McGrath <roland@baalperazim.frob.com>
+
+ * remap.c (remap_open): Recognize "N+" syntax in block list as from
+ block N through the end of the store.
+
+1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * bunzip2.c (bunzip2): Use munmap instead of vm_deallocate.
+ (store_bunzip2_create): Likewise.
+ * rdwr.c (store_read): Likewise.
+ * gunzip.c (gunzip): Likewise.
+ (store_gunzip_create): Likewise.
+ * enc.c (store_enc_dealloc): Likewise.
+ * copy.c (copy_cleanup): Likewise.
+
+1999-05-23 Roland McGrath <roland@baalperazim.frob.com>
+
+ * remap.c (remap_open): Don't multiply by 512. Offsets and sizes are
+ in blocks, not bytes.
+
+ * stripe.c (concat_decode): Add __attribute__((unused)) to suppress
+ warning.
+ (ileave_decode): Likewise.
+
+ * bunzip2.c: Add extern decl for do_bunzip2.
+
+1999-05-16 Roland McGrath <roland@baalperazim.frob.com>
+
+ * remap.c (remap_decode): Add attribute((unused)) to suppress warning.
+
+1999-05-14 Roland McGrath <roland@baalperazim.frob.com>
+
+ * remap.c (remap_open, remap_validate_name): New functions, to support
+ parsing block lists a la GRUB.
+ (store_remap_class): Initialize those slots.
+
+1999-05-01 Mark Kettenis <kettenis@gnu.org>
+
+ * device.c (store_device_create): Deal with devices that return
+ sucessfully from device_get_status, but do not return any sensible
+ information.
+
+1998-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
+
+ * bunzip2.c: New file.
+ * store.h (store_bunzip2_create): New declarations.
+ (store_bunzip2_open): Likewise.
+ (store_bunzip2_class): Likewise.
+ * std.c (store_std_classes): Add store_bunzip2_class.
+ * Makefile (SRCS): Add bunzip2.c.
+ (UNZIP_OBJS): Add do-bunzip2.o.
+
+1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
+
+ * store.h: Remove defns of STORAGE_*, now in <hurd/hurd_types.h>.
+
+1998-12-21 Roland McGrath <roland@baalperazim.frob.com>
+
+ * open.c (store_open): Like file.c:fiopen, catch EACCES or EROFS
+ and try to open read-only.
+
+ * file.c (fiopen): Treat EROFS same as EACCES.
+
+1998-10-20 Roland McGrath <roland@baalperazim.frob.com>
+
+ * flags.c (store_clear_flags): Add braces to silence gcc warning.
+
+1998-10-19 Roland McGrath <roland@baalperazim.frob.com>
+
+ * rdwr.c (store_read): Add braces to silence gcc warning.
+ * flags.c (store_set_flags): Likewise.
+ * typed.c (store_typed_open): Likewise.
+ * decode.c (store_decode): Likewise.
+ * argp.c (store_parsed_append_args): Likewise.
+ (store_parsed_name): Likewise.
+ (store_parsed_open): Likewise.
+
+1998-09-05 Roland McGrath <roland@baalperazim.frob.com>
+
+ * argp.c (store_parsed_append_args): Use %d for layer, which is int.
+ Cast to int for %* field width arg.
+
+1997-09-22 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * encode.c (store_encode): Allocate the correct amount of memory
+ for the encoding vectors.
+
+ * make.c (_store_create): Initialize NEW->misc_len.
+
+ * mvol.c (store_mvol_class): Set correct members.
+ (store_mvol_create): Declare PHYS correctly.
+ <stdio.h>: New include.
+ * store.h (store_mvol_create): Declare PHYS correctly.
+ * Makefile (SRCS): Add mvol.c.
+
+1997-08-11 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * store.h (store_mvol_create): New declaration.
+ (store_mvol_class): New declaration.
+ * mvol.c: New file.
+
+1997-07-24 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * device.c (store_device_create): Treat devices that can't do
+ device_get_status as zero-length.
+ (dev_map): Pass 0 for OFFSET and SIZE arguments to device_map --
+ mach ignores them, and we often can't supply meaningful values.
+ * make.c (_store_create): If BLOCK_SIZE is zero, make sure there
+ are no runs.
+ * derive.c (_store_derive): Let BSIZE be zero.
+
+1997-07-21 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.c (store_parsed_append_args): Correctly unparse complex
+ type names.
+
+1997-07-18 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * map.c (store_map): If we can't map STORE directly, and it has a
+ source file, try to map that instead.
+ * remap.c (store_remap): If we are mutating SOURCE, close any
+ source port it has.
+ * store.h (store_map_source): Declaration removed.
+
+1997-07-17 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * store.h (store_map): New declaration.
+ (struct store_class): Add map field.
+ * device.c (dev_map): New function.
+ (store_device_class): Use dev_map.
+ * zero.c (zero_map): New function.
+ (store_zero_class): Use zero_map.
+ * file.c (file_map): New function.
+ (store_file_class): Use file_map.
+ * map.c: New file.
+ * Makefile (SRCS): Add map.c.
+
+ * device.c (dev_read, dev_write): Remove debugging grot.
+
+1997-07-07 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * kids.c (store_open_children): Support factored type notation.
+
+1997-07-05 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * file.c (file_read, file_write, file_byte_read, file_byte_write):
+ Remove debugging noise.
+
+1997-06-30 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * store.h: Doc fix.
+
+1997-06-27 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * file.c (store_file_open): Use fiopen to open the file.
+ Set name of newly created store.
+ (fiopen, ficlose, enforced, file_set_flags, file_clear_flags): New
+ functions.
+ (store_file_class): Use new functions.
+ (store_file_byte_class): Fill in rest of functions.
+ * device.c (enforced): Move some checking here from dev_set_flags,
+ and correct the check for the number of stores.
+ (dev_set_flags): Move enforcement checking code to enforce.
+
+1997-06-26 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.c (parse_type): Fill in name_prefix field.
+ (store_parsed_open): Apply it to any names we open.
+
+1997-06-22 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.c (parse_type): New function.
+ (parse_opt): Use parse_type to parse the -T option.
+ (struct store_parsed): Add NAME_PREFIX field.
+ (store_parsed_free): Free it.
+ (store_parsed_append_args): Emit it.
+ (store_parsed_open): Use it in opens.
+
+ * typed.c (store_typed_open): If NAME doesn't contain a `:'
+ separator, try to use it as either a class name or a file name.
+ Interpret a trailing or leading `:' as unambiguously referring to
+ a class-name or a filename, respectively.
+
+1997-06-19 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * rdwr.c (store_read): Limit reads to the amount available.
+
+ * store.h (store_typed_open_class): Renamed from store_typed_class.
+ * std.c (store_std_classes): Use store_typed_open_class instead of
+ store_typed_class.
+
+ * Makefile (SRCS): Remove storeread.c & storecat.c.
+ (storeread, storecat): Rules removed.
+ * storeread.c, storecat.c: Moved to ../utils.
+
+1997-06-18 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * store.h (struct store): BLOCKS & SIZE are off_t, not size_t.
+ (store_zero_create): SIZE is off_t, not size_t.
+ * zero.c (store_zero_create, zero_open): Likewise.
+
+ * storecat.c (main): Update use of argp.
+ * storeread.c (main): DATA is void *.
+
+ * Makefile (UTILS_OBJS): Variable removed.
+ (UNZIP_OBJS): New variable.
+ (OBJS): Don't use $(UTILS_OBJS). Do use $(UNZIP_OBJS).
+ (VPATH, CPPFLAGS): Search for stuff in ../exec for unzip junk.
+
+ * derive.c: Include <assert.h>
+ (_store_derive): Assert that block_size & blocks_per_page are
+ powers of two (which should be enforced elsewhere).
+
+ * make.c (_store_create): Renamed from _make_store.
+ Return an error_t code, and add an additional argument STORE to
+ return the new store; all uses changed.
+ * store.h (_make_store): Likewise.
+
+ * Makefile (SRCS): Add typed.c, copy.c, and gunzip.c.
+
+ * typed.c: New file
+ * store.h (store_gunzip_class, store_typed_class): New declarations.
+ * std.c (store_std_classes): Add store_copy_class,
+ store_gunzip_class, and store_typed_class.
+
+ * kids.c (store_open_children, store_children_name): New functions.
+ * stripe.c (store_concat_open): New function.
+ (store_concat_create): Set the store name if possible.
+ * store.h (store_concat_open, store_children_name,
+ store_open_children): New declaration.
+ * rdwr.c (store_read): Deallocate memory returned when reading
+ part of a multiple-segment read.
+
+1997-06-17 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * copy.c, gunzip.c: New files.
+ * store.h (store_copy_class): New declaration.
+ (store_copy_create, store_copy_open, store_buffer_create,
+ store_gunzip_create, store_gunzip_open): New declarations.
+
+ * decode.c (store_decode): Pass the original value of CLASSES to
+ any decode method, not our search tail.
+
+ * device.c (dopen): If *MOD_FLAGS already contains
+ STORE_HARD_READONLY, don't ever try to open for reading.
+
+Fri Feb 21 23:31:34 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * device.c (dopen): Add MOD_FLAGS param, and detect read-only devices.
+ (dev_clear_flags, store_device_open): Use MOD_FLAGS arg to dopen.
+
+Wed Feb 19 15:40:18 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * storeread.c (doc): Make doc string come after options.
+
+ * device.c (dev_set_flags): Correctly check for unenforcable runs.
+
+ * task.c: New file.
+ * Makefile (SRCS): Add task.c.
+ * store.h (store_task_class): New declaration.
+ (store_task_create, _store_task_create, store_open): New declarations.
+ * std.c (store_std_classes): Add &STORE_TASK_CLASS.
+
+ * xinl.c: Renamed from store.c.
+ * Makefile (SRCS): Change store.c to xinl.c.
+
+Mon Oct 21 22:03:19 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * store.h: Add extern inline protection.
+ * store.c: New file.
+ * Makefile (SRCS): Add store.c.
+
+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>.