summaryrefslogtreecommitdiff
path: root/storeio
AgeCommit message (Collapse)Author
2002-03-11.Roland McGrath
2002-03-112002-03-10 Roland McGrath <roland@frob.com>Roland McGrath
* dev.c (dev_read): Return success with *LEN = 0 when reading exactly at the end of the store.
2002-01-02.Roland McGrath
2002-01-022001-12-28 Roland McGrath <roland@frob.com>Roland McGrath
* dev.h (struct dev): New member `no_fileio' (flag). * storeio.c (options): Add --no-file-io/-F. (parse_opt): Parse it to set PARAMS->dev->no_fileio. (trivfs_append_args): Add --no-file-io if it's set. * dev.c (dev_open): Pass STORE_NOFILEIO flag if DEV->no_fileio is set.
2001-08-15.Roland McGrath
2001-08-152001-08-12 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* pager.c: Include <errno.h>. (pager_read_page): Use memset, not bzero. * storeio.c (check_open_hook): Typo fix in comment. (trivfs_modify_stat): STORE->size is a store_offset_t. It not a vm_size_t.
2001-05-06libstore/Marcus Brinkmann
2001-04-26 Marcus Brinkmann <marcus@ulysses.dhis.net> * set.c: Use explicit comparison to MACH_PORT_NULL. storeio/ 2001-05-06 Marcus Brinkmann <marcus@gnu.org> * dev.c (dev_open): Do not create/open the store with STORE_INACTIVE, as this doesn't work correctly. Inactivate the store afterwards instead. 2001-02-18 Marcus Brinkmann <marcus@gnu.org> * dev.h (struct dev): New member nperopens. * storeio.c (open_hook): Hold device lock and check if this is the TODO: add item about the storeio hack
2001-04-192001-02-18 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* dev.h (struct dev): New member nperopens. * storeio.c (open_hook): Hold device lock and check if this is the first open. If yes, activate the store. (close_hook): Hold global_lock and check if this was the last open. If yes, inactivate the store. * dev.c (dev_open): Open the store with STORE_INACTIVE (in store_parsed_open as well as in store_create).
2001-01-17.Roland McGrath
2001-01-172001-01-17 Roland McGrath <roland@frob.com>Roland McGrath
* dev.c (dev_buf_discard): Don't check AMOUNT if store_write failed.
2001-01-162001-01-16 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* dev.c (dev_open): Add missing argument `classes' to invocation of store_create. * dev.h: Include <hurd/trivfs.h> for struct trivfs_control.
2001-01-16.Roland McGrath
2001-01-162001-01-16 Roland McGrath <roland@frob.com>Roland McGrath
* storeio.c (parse_opt): Set PARAMS->store_params.store_optional. (storeio_fsys): New global variable. (main): Use it. * dev.h: Declare it. * dev.c (dev_open): If DEV->store_name is null, open the underlying node using store_create.
2000-07-26* Makefile (HURDLIBS): Reorder libs such that the threads libMark Kettenis
comes before the ports lib. This makes sure the functions in libthreads properly override the stubs in libports with the new dynamic linker semantics in glibc 2.2.
2000-03-19.Roland McGrath
2000-03-192000-03-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* io.c: Comments.
2000-03-19.Roland McGrath
2000-03-192000-03-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dev.h (struct dev): New members store_name, readonly, rdev. (dev_is_readonly): New inline function. * dev.c (dev_open): Take just one arg, a struct dev whose store==0. (dev_close): Shut down the store, but leave DEV intact with store==0. * storeio.c (struct storeio_argp_params): New type. (device, device_lock, store_name): Variables removed. (readonly, inhibit_cache, enforce_store, rdev): Likewise. These are all now members in struct storeio_argp_params or struct dev; rdev now uses dev_t instead of int. (parse_opt): Find a struct storeio_argp_params in STATE->input and fill it in accordingly. Use makedev macro to construct rdev. (trivfs_append_args): Find options in struct dev off control hook. Use major, minor macros. (main): Make DEVICE a local here, and point FSYS->hook at it. Don't modify trivfs_allow_open. (getroot_hook): New static function. (trivfs_getroot_hook): New variable, initialized to that. (check_open_hook): Find struct dev in CNTL->hook and use new dev_open interface. Use dev_is_readonly. (open_hook): Find struct dev in PEROPEN->cntl->hook and check DEV->store. (trivfs_modify_stat): Find struct dev in CRED->po->cntl->hook. Use dev_is_readonly. (trivfs_goaway): Find struct dev in FSYS->hook and use its lock. (trivfs_S_fsys_syncfs): Find struct dev in CNTL->hook.
1999-11-25.Roland McGrath
1999-11-251999-11-24 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* storeio.c (trivfs_modify_stat): Clear writable bits if open store is readonly, not just if we got the --readonly switch.
1999-11-21.Roland McGrath
1999-11-211999-11-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dev.c (dev_read, dev_write): In DEV->inhibit_cache case, handle zero (i.e. unknown) block_size by treating it as 1. Use shift and bitwise-and rather than multiply and modulus for block size arithmetic, since it's a known power of two.
1999-11-18.Roland McGrath
1999-11-181999-11-14 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dev.h (struct dev): New member `enforced'. * storeio.c (enforce_store): New variable. (options, parse_opt, trivfs_append_args): Grok new option --enforced/-e to set enforce_store. (check_open_hook): Set DEVICE->enforced from enforce_store. * io.c (trivfs_S_file_get_storage_info): If DEV->enforced is set and the store flags lack STORE_ENFORCED, then return STORAGE_OTHER.
1999-11-181999-11-14 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* storeio.c (check_open_hook): Don't check for D_NO_SUCH_DEVICE here. Translation to ENXIO now done in libstore. * dev.h (struct dev): New member `enforced'. * storeio.c (enforce_store): New variable. (options, parse_opt, trivfs_append_args): Grok new option --enforced/-e to set enforce_store. (check_open_hook): Set DEVICE->enforced from enforce_store. * io.c (trivfs_S_file_get_storage_info): If DEV->enforced is set and the store flags lack STORE_ENFORCED, then return STORAGE_OTHER.
1999-11-181999-11-14 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* io.c (trivfs_S_file_get_storage_info): Fail with EOPNOTSUPP when there is no store open. * dev.h (struct dev): New member `enforced'. * storeio.c (enforce_store): New variable. (options, parse_opt, trivfs_append_args): Grok new option --enforced/-e to set enforce_store. (check_open_hook): Set DEVICE->enforced from enforce_store. * io.c (trivfs_S_file_get_storage_info): If DEV->enforced is set and the store flags lack STORE_ENFORCED, then return STORAGE_OTHER.
1999-09-13Reverted changes related to io_map_segment.Roland McGrath
1999-09-081999-09-07 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* io.c (trivfs_S_io_map): Renamed to ... (trivfs_S_io_map_segment): ... here, and accept parameter `index'.
1999-07-11.Roland McGrath
1999-07-111999-07-11 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dev.c (dev_read: ensure_buf): Fix sloppy bugs in last change.
1999-07-111999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* dev.c (dev_open): Use mmap instead of vm_allocate. (dev_read): Likewise.
1999-07-11.Roland McGrath
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dev.c: Add #include <sys/mman.h> for munmap decl. * pager.c: Likewise.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* dev.c (dev_buf_fill): Use munmap instead of vm_deallocate. (dev_close): Likewise. (dev_read): Likewise. * pager.c (pager_write_page): Likewise.
1999-05-23.Roland McGrath
1999-05-231999-05-23 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* storeio.c (check_open_hook): Translate D_NO_SUCH_DEVICE to ENXIO.
1999-05-13*** empty log message ***Thomas Bushnell
1999-05-12.Roland McGrath
1999-05-121999-05-09 Mark Kettenis <kettenis@gnu.org>Roland McGrath
* pager.c (dev_stop_paging): Do not try to count ports in PAGER_PORT_BUCKET if it has not been created.
1999-05-01.Roland McGrath
1999-05-011999-04-30 Mark Kettenis <kettenis@gnu.org>Roland McGrath
* storeio.c (trivfs_modify_stat): Do not assume that we have the device open in the caculation of st_mode. If the device is not open, only return S_IFCHR if inhibit_cache is set.
1999-02-01.Roland McGrath
1999-02-011999-01-31 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* storeio.c (trivfs_modify_stat): Return S_IFCHR if block size is 1.
1999-02-01.Roland McGrath
1999-02-011999-01-31 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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
1999-01-281999-01-28 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* io.c (trivfs_S_file_syncfs): Fix inverted test. Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.
1999-01-27.Roland McGrath
1999-01-271999-01-27 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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-20Add braces to silence gcc warnings.Roland McGrath