aboutsummaryrefslogtreecommitdiff
path: root/storeio
Commit message (Collapse)AuthorAgeFilesLines
...
* .Roland McGrath2001-01-161-0/+9
|
* 2001-01-16 Roland McGrath <roland@frob.com>Roland McGrath2001-01-163-10/+26
| | | | | | | | | * 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.
* * Makefile (HURDLIBS): Reorder libs such that the threads libMark Kettenis2000-07-262-2/+9
| | | | | | 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.
* .Roland McGrath2000-03-191-0/+2
|
* 2000-03-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath2000-03-191-5/+4
| | | | * io.c: Comments.
* .Roland McGrath2000-03-191-0/+28
|
* 2000-03-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath2000-03-193-108/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* .Roland McGrath1999-11-251-0/+5
|
* 1999-11-24 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-11-251-1/+1
| | | | | * storeio.c (trivfs_modify_stat): Clear writable bits if open store is readonly, not just if we got the --readonly switch.
* .Roland McGrath1999-11-211-0/+7
|
* 1999-11-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-11-211-8/+20
| | | | | | | * 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.
* .Roland McGrath1999-11-181-0/+16
|
* 1999-11-14 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-11-181-0/+2
| | | | | | | | | | * 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-14 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-11-181-4/+10
| | | | | | | | | | | | * 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-14 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-11-181-2/+28
| | | | | | | | | | | | * 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.
* Reverted changes related to io_map_segment.Roland McGrath1999-09-132-3/+5
|
* 1999-09-07 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell1999-09-082-1/+8
| | | | | * io.c (trivfs_S_io_map): Renamed to ... (trivfs_S_io_map_segment): ... here, and accept parameter `index'.
* .Roland McGrath1999-07-111-3/+7
|
* 1999-07-11 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-07-111-9/+8
| | | | * dev.c (dev_read: ensure_buf): Fix sloppy bugs in last change.
* 1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell1999-07-112-5/+11
| | | | | * dev.c (dev_open): Use mmap instead of vm_allocate. (dev_read): Likewise.
* .Roland McGrath1999-07-111-0/+5
|
* 1999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-07-112-0/+2
| | | | | * dev.c: Add #include <sys/mman.h> for munmap decl. * pager.c: Likewise.
* 1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell1999-07-033-8/+12
| | | | | | | * dev.c (dev_buf_fill): Use munmap instead of vm_deallocate. (dev_close): Likewise. (dev_read): Likewise. * pager.c (pager_write_page): Likewise.
* .Roland McGrath1999-05-231-1/+5
|
* 1999-05-23 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-05-231-2/+6
| | | | * storeio.c (check_open_hook): Translate D_NO_SUCH_DEVICE to ENXIO.
* *** empty log message ***Thomas Bushnell1999-05-131-1/+1
|
* .Roland McGrath1999-05-121-0/+5
|
* 1999-05-09 Mark Kettenis <kettenis@gnu.org>Roland McGrath1999-05-121-1/+2
| | | | | * pager.c (dev_stop_paging): Do not try to count ports in PAGER_PORT_BUCKET if it has not been created.
* .Roland McGrath1999-05-011-0/+6
|
* 1999-04-30 Mark Kettenis <kettenis@gnu.org>Roland McGrath1999-05-011-4/+7
| | | | | | * 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.
* .Roland McGrath1999-02-011-0/+2
|
* 1999-01-31 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-02-011-1/+3
| | | | * storeio.c (trivfs_modify_stat): Return S_IFCHR if block size is 1.
* .Roland McGrath1999-02-011-0/+6
|
* 1999-01-31 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-02-011-1/+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".
* .Roland McGrath1999-01-281-0/+5
|
* 1999-01-28 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-01-281-4/+4
| | | | | * io.c (trivfs_S_file_syncfs): Fix inverted test. Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.
* .Roland McGrath1999-01-271-0/+16
|
* 1999-01-27 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-01-274-30/+91
| | | | | | | | | | | | | | | | * 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.
* Add braces to silence gcc warnings.Roland McGrath1998-10-202-11/+17
|
* .Roland McGrath1998-07-201-3/+6
|
* 1998-07-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1998-07-201-6/+7
| | | | * 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>Thomas Bushnell1997-08-202-16/+19
| | | | | * pager.c (dev_get_memory_object): Deal with errors from pager_create properly.
* Wed Aug 20 14:07:05 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell1997-08-203-3/+8
| | | | | | * pager.c (service_paging_requests): New args for ports_manage_port_operations_multithread. * storeio.c (main): Likewise.
* .Miles Bader1997-07-231-0/+6
|
* (trivfs_S_io_select):Miles Bader1997-07-231-10/+6
| | | | | | Don't bother returning EBADF. (trivfs_S_io_readable, trivfs_S_io_read, trivfs_S_io_map): Return EBADF instead of EINVAL.
* .Miles Bader1997-07-221-0/+5
|
* (trivfs_S_io_read):Miles Bader1997-07-221-1/+3
| | | | | | Return EINVAL instead of EBADF. (trivfs_S_io_map): Return EINVAL if CRED cannot be read or written.
* .Miles Bader1997-07-211-0/+4
|
* (HURDLIBS):Miles Bader1997-07-211-2/+2
| | | | Add iohelp.
* .Miles Bader1997-07-171-0/+6
|