Age | Commit message (Collapse) | Author |
|
|
|
* storeio.c (parse_opt): Fix fencepost error in -n arg parsing.
Reported by Nicola Girardi <nicola@g-n-u.de>.
|
|
|
|
* io.c (trivfs_S_io_read, trivfs_S_io_write): off_t -> loff_t.
Fix DATA argument type.
(trivfs_S_file_sync): Add missing last arg.
|
|
|
|
* pager.c (pager_read_page, pager_write_page): int -> size_t
|
|
|
|
* dev.c (dev_read): Return success with *LEN = 0 when reading
exactly at the end of the store.
|
|
|
|
* 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.
|
|
|
|
* 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-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
|
|
* 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).
|
|
|
|
* dev.c (dev_buf_discard): Don't check AMOUNT if store_write failed.
|
|
* dev.c (dev_open): Add missing argument `classes' to invocation
of store_create.
* dev.h: Include <hurd/trivfs.h> for struct trivfs_control.
|
|
|
|
* 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.
|
|
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.
|
|
|
|
* io.c: Comments.
|
|
|
|
* 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.
|
|
|
|
* storeio.c (trivfs_modify_stat): Clear writable bits if open store is
readonly, not just if we got the --readonly switch.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
|
|
* io.c (trivfs_S_io_map): Renamed to ...
(trivfs_S_io_map_segment): ... here, and accept parameter `index'.
|
|
|
|
* dev.c (dev_read: ensure_buf): Fix sloppy bugs in last change.
|
|
* dev.c (dev_open): Use mmap instead of vm_allocate.
(dev_read): Likewise.
|
|
|
|
* dev.c: Add #include <sys/mman.h> for munmap decl.
* pager.c: Likewise.
|
|
* dev.c (dev_buf_fill): Use munmap instead of vm_deallocate.
(dev_close): Likewise.
(dev_read): Likewise.
* pager.c (pager_write_page): Likewise.
|
|
|
|
* storeio.c (check_open_hook): Translate D_NO_SUCH_DEVICE to ENXIO.
|
|
|
|
|
|
* pager.c (dev_stop_paging): Do not try to count ports in
PAGER_PORT_BUCKET if it has not been created.
|
|
|
|
* 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.
|
|
|
|
* storeio.c (trivfs_modify_stat): Return S_IFCHR if block size is 1.
|
|
|