Age | Commit message (Collapse) | Author |
|
* encode.c (too_big): New static function.
(store_std_leaf_encode): Use it to return EOVERFLOW if a run
does not fit in an int.
|
|
2001-01-13 Marcus Brinkmann <marcus@gnu.org>
* Makefile (SRCS): Add streamio.c
(streamio): Add dependency on device_replyServer.o.
Other dependencies identical to those for crash and password.
(OBJS): Add missing object files to list (crashServer.o
crash_replyUser.o msgServer.o device_replyServer.o).
* storeio.c: New file by OKUJI Yoshinori.
sutils/
2001-01-14 Marcus Brinkmann <marcus@gnu.org>
* MAKEDEV.sh (mkdev: klog): New device, using /hurd/streamio kmsg.
(mkdev: std): Add klog to the standard list.
|
|
2001-01-11 Marcus Brinkmann <marcus@gnu.org>
* def_pager_setup.c: Include <mach/mig_errors.h> and
<mach/default_pager_types.h>.
(default_pager_paging_storage): New stub.
|
|
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* ioctl_types.h: Include <net/if.h>, define types sockaddr_t and
ifname_t for iioctl.defs.
* iioctl.defs: New file for network interface ioctls.
* pfinet.defs: Remove old RPCs, fix subsystem number, add RPC for
SIOCGIFCONF.
pfinet/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* pfinet-ops.c: New file to implement hurd/pfinet.defs.
* iioctl-ops.c: New file to implement iioctl.defs.
* linux-src/net/core/dev.c: If _HURD_, don't define netdev_chain as
static.
* glue-include/linux/if.h: New file, to avoid conflict between
<net/if.h> (imported by iioctl.defs) and linux version of it.
* main.c (pfinet_demuxer): Prototype pfinet_server and
iioctl_server, use them.
* pfinet.h: New global variables pfinetctl, pfinet_owner
and pfinet_group.
* main.c (main): New variable ST. Request pfinetctl from
trivfs_startup. Use it to determine the owner and group
of the underlying node.
* io-ops.c (S_io_reauthenticate): New index variable j. Set
newuser->isroot also for owners of the underlying file and
group owners.
(S_io_restrict_auth): Likewise.
* socket-ops.c: Include <sys/stat.h> and <hurd/fshelp.h>.
(S_socket_create): New variable isroot. If master->isroot is
not set, use fshelp_isowner to check ownership and if to set it.
Pass isroot to make_sock_user instead master->isroot.
* linux-src/net/ipv4/devinet.c (configure_device): Accept new parameter
BROADCAST, set ifa_broadcast if this is not INADDR_NONE.
(inquire_device): Accept new parameter broadcast, set it.
* main.c: Add new paramter to prototype of configure_device.
(main): Add new parameter to call to configure_device.
* options.c: Add new parameters to prototypes of configure_device
and inquire_device.
(trivfs_append_args): Define new variable BROAD, use its address
as the new parameter for inquire_device.
* linux-src/net/core/dev.c (dev_ifconf): Don't declare static
if _HURD_.
* linux-src/net/ipv4/devinet.c (inet_gifconf): If _HURD_, set
sin_len member.
* Makefile (MIGSRCS): Add pfinetServer.c and iioctlServer.c.
(SRCS): Add pfinet-ops.c, iioctl-ops.c.
|
|
* changelog: Update to reflect Debian upgrade.
* rules: Use --disable-profile wih configure instead no_prof=t
with make.
|
|
* device.c (store_device_create): Protect code of last change with
#ifdef DEV_GET_RECORDS, and set sizes_len again before second try.
(enforce): Likewise. Move definition of variable err up to top
level.
|
|
* device.c (enforce): First try DEV_GET_RECORDS, and only fall
back to DEV_GET_STORE if this fails with D_INVALID_OPERATION.
(store_device_create): Likewise, but fall back for any failure.
|
|
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* hurd.texi (Store Management): Replace off_t with store_offset_t.
(Store I/O): Likewise.
(Store Classes): Likewise.
ext2fs/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* ext2fs.c (main): Use %Ld instead %ld to print store->size.
* hyper.c (get_hypermetadata): Likewise.
libstore/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* zero.c (zero_remap): Change type of variables length, old_length
to store_offset_t.
(zero_decode): Change type of variable size to store_offset_t.
(zero_open): Likewise. Use strtoull instead strtoul to parse
size argument from name. Use store_offset_t for max_offs and
its calculation.
(store_zero_create): Use store_offset_t type for size argument.
* derive.c (_store_derive): Use store_offset_t as type for
variable last_part_base.
* stripe.c (addr_adj): Change types of addr argument and return
value to store_offset_t.
(store_ileave_create): Change type of interleave argument and
variables min_end and end to store_offset_t, but type of variable
block_size to size_t.
(store_concat_create): Change type of variable block_size to
size_t.
* make.c (_store_create): Change end argument type to store_offset_t.
* store.h: New type store_offset_t, define to off64_t.
(struct store_run): Change type of start and length to
store_offset_t.
(struct store): Change type of end, wrap_src, wrap_dst, blocks,
size to store_offset_t.
Change type of addr arg in store_read_meth_t and
store_write_meth_t to store_offset_t, as well as in declarations
for store_read and store_write.
Change type of argument end in _store_create declaration to
store_offset_t.
Change type of argument size in store_zero_create to
store_offset_t. Change type of argument interleace in
store_ileace_create to store_offset_t.
* rdwr.c (store_find_first_run): Change type of return value, addr
and *base arguments, and variables wrap_src and run_blocks to
store_offset_t.
(store_next_run): Change type of *base argument to store_offset_t.
(store_write): Change type of addr argument and variable base to
store_offset_t.
(store_read): Likewise, also for addr argument of local function seg_read.
Change type of len argument to size_t.
* copy.c (copy_read): Change type of addr argument to store_offset_t.
(copy_write): Likewise.
* device.c (dev_read): Likewise.
(dev_write): Likewise.
* file.c (file_read): Likewise.
(file_write): Likewise.
(file_byte_read): Likewise.
(file_byte_write): Likewise.
* mvol.c (mvol_read): Likewise.
(mvol_write): Likewise.
* remap.c (remap_read): Likewise.
(remap_write): Likewise.
* stripe.c (stripe_read): Likewise.
(stripe_write): Likewise.
* task.c (task_read): Likewise.
(task_write): Likewise.
* zero.c (zero_read): Likewise.
(zero_write): Likewise.
* remap.c (store_remap_runs): Change type of addr and len
arguments of local function add_run and of local variables addr,
length, baddr, blen and len to store_offset_t.
(remap_open): Cast -1 to store_offset_t, not off_t.
* argp.c (struct store_parsed): Change type of interleave from
off_t to store_offset_t.
(store_parsed_append_args): Use %Ld instead %ld to print
interleave value.
(store_parsed_name): Likewise.
ufs/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* main.c (main): Use %Ld instead %ld to print store->size.
* hyper.c (get_hypermetadata): Likewise.
* inode.c (diskfs_S_file_get_storage_info): Change type of variables
start and length from off_t to store_offset_t.
utils/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* storeread.c (main): Change type of addr to store_offset_t,
also for first argument of local function dump.
Add comment about store->size as len parameter for store_read.
Use atoll instead atoi for addr argument.
* storeinfo.c (print_store): Remove local function pint, add two
similar functions psiz and poff, accepting and printing a size_t
or store_offset_t respectively.
Use psiz to print block_size, poff to print blocks and size of
store.
Use %Ld instead %ld to print runs.
* storecat.c (main): Change type of addr and left to store_offset_t.
|
|
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* hurd.texi (Diskfs Callbacks): Make diskfs_dirstat_size const.
ext2fs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c: Make diskfs_dirstat_size const.
isofs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* lookup.c: Make diskfs_dirstat_size const.
ufs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c: Make diskfs_dirstat_size const.
libdiskfs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* diskfs.h: Make diskfs_dirstat_size const.
libdiskfs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* file-statfs.c: Include <string.h>.
ftpfs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c (ftpfs_dir_create): Fix last change (calloc invocation).
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* copy.c: Include <mach.h>. New macro page_aligned.
(copy_write): Cast buf to vm_address_t in call to vm_write.
Dereference amount for memcpy.
(copy_read): Add len parameter to vm_read, remove redundant following
len assignment.
|
|
* rr.c (rrip_work): Use strdup instead malloc and strcpy.
Assert that strdup and malloc (for rr->trans) succeeds.
* pager.c: Include <errno.h>.
(create_disk_pager): If malloc fails, exit with error.
* main.c (read_sblock): Fail if malloc does.
* inode.c (diskfs_cached_lookup): When allocating memory for dn or
np fails, release spinlock, rrip (and allocated memory) and return
ENOMEM.
(load_inode): Likewise (but no rrip). Also, if *npp is non-zero,
release diskfs_node_refcnt_lock before returning.
Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
|
|
* init.c (process_rc_script): If malloc fails, return ENOMEM.
Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
|
|
* dir.c (ftpfs_dir_create): New macro INIT_HTABLE_LEN to
specify initialize htable_len. New variable htable,
allocate memory to it with calloc before acquiring a node
reference. If this fails, return any allocated memory and
return with ENOMEM. Set new->htable_len to INIT_HTABLE_LEN
and new->htable to htable. Don't bzero htable anymore, as
we use calloc.
|
|
* pager.c: Include <errno.h>.
(create_disk_pager): Panic if malloc fails.
Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
* inode.c (diskfs_get_translator): If malloc fails, set err to ENOMEM.
Initialize err with 0, and return it at the end of the function.
Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
|
|
* boot.c (main): If malloc or realloc fails, print diagnostic
message and exit.
(queue_read): Change return type from void to kern_return_t.
If malloc fails, return D_NO_MEMORY, otherwise D_SUCCESS (to simplify
code flow, malloc before acquiring the queuelock).
(ds_device_read): New variable err (local to the block in which it is used).
If queue_read fails, pass through error.
(ds_device_read_inband): Likewise.
(S_io_read): Likewise.
Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
|
|
|
|
* options.c (parse_opt): Set err to 0 if it was ESRCH.
(or zero after anyway).
|
|
2000-12-30 Marcus Brinkmann <marcus@gnu.org>
* netfs.h: Revert doc "fix" of netfs_attempt_chmod.
|
|
* netfs.h: Merge Neals words into documentation of netfs_nput,
netfs_nrele, netfs_nref.
|
|
* dir.c: Include <stddef.h>, <unistd.h>, <sys/mman.h>
(diskfs_get_directs): Cast *data to struct dirent *.
* node.c: Include <stddef.h>.
(diskfs_alloc_node): Remove unused variables err, st, np.
(diskfs_free_node): Use *np->dn, not *dn to calculate used space.
(recompute_blocks): Replace DT_DEV with DT_BLK.
(diskfs_node_norefs): Likewise.
(recompute_blocks): Take address of np->dn_stat for pointer st.
(diskfs_cached_lookup): New variable st.
(diskfs_cached_lookup): Set st to &np->dn_stat, not &dn->dn_stat.
(create_symlink_hook): Fix malloc call and return code check.
(read_symlink_hook): Return 0.
* tmpfs.c: Include <argp.h>, <string.h>, <inttypes.h>, <argz.h>,
<error.h>.
(parse_opt): Reverse second and third argument of strtoimax call.
* tmpfs.h (struct disknode): Remove blind passenger (unnamed copy
of anonymous struct {} reg).
Some of the above were also reported by Alexey Dejneka
<adejneka@comail.ru>.
|
|
|
|
* netfs.h (struct node): Adjust comment fixes by last change
to be more in line with similar comments elsewhere.
* make-node.c (netfs_make_node): Return 0 if malloc does.
Reported by Neal H Walfield <neal@cs.uml.edu>.
2000-12-29 Neal H Walfield <neal@cs.uml.edu>
* dir-lookup.c (netfs_S_dir_lookup): Do not bother zeroing np, it
happens later anyway. Replace bcopy with memcpy.
* file-get-translator.c (netfs_S_file_get_translator): Replace
bcopy with memcpy.
* io-seek.c (netfs_S_io_seek): Only get the lock if we need it.
* io-stat.c (netfs_S_io_stat): Replace bcopy with memcpy.
* io-write.c (netfs_S_io_write): Wait until the lock is needed.
* netfs.h: Complete documentation revision. The locking protocol
is now very explicit.
* nput.c (netfs_nput): Added comment.
* nrele.c (netfs_nrele): Likewise.
* set-get-trans.c: Likewise.
|
|
|
|
* node.c (recompute_blocks): New function, broken out of ...
(diskfs_cached_lookup): here. Now use call that.
(diskfs_set_translator): Likewise.
(create_symlink_hook): Likewise. Do nothing for zero-length target.
|
|
|
|
|
|
* file-statfs.c (diskfs_S_file_statfs): Zero out the struct statfs
before calling diskfs_set_statfs. Set f_namelen to diskfs_name_max
after the call.
* diskfs.h: Update comment.
|
|
|
|
* zero.c (zero_open): Check for END being null after strtoul call.
If character following number (*END) is b, multiply size by 512;
k or K, by 1024; m or M by 1024*1024; g or G by 1024*1024*1024.
|
|
|
|
* store.h (struct store_class): Fix typo in comment.
|
|
|
|
* copy.c (copy_read): When reading whole aligned pages, use vm_read.
Use MAP_FAILED in place of (void *) -1. Use memcpy in place of bcopy.
(copy_write): When reading whole aligned pages, use vm_write.
Use memcpy in place of bcopy.
|
|
|
|
* inode.c (write_node): Remove assert that dn_set_mtime et al are
clear. It is ok if they are set in parallel, because the latter
setting will be carried out eventually.
|
|
* main.c (pfinet_demuxer): New variable PI.
Store port info in PI, and dereference it if found.
|
|
|
|
* truncate.c (diskfs_truncate): Use & instead of %.
|
|
* inode.c (write_all_disknodes): Call diskfs_set_node_times after
pokel_sync, since it might delay a little.
(write_node): Remove assert that dn_set_mtime et al are clear.
It is ok if they are set in parallel, because the latter setting
will be carried out eventually.
|
|
* node-times.c (diskfs_set_node_times): Make individual flag checks
race-proof so we don't lose any flag settings.
|
|
* ops.c (op_readlink): Before returning, check if the buffer
pointed to by transp is ours. If not, munmap it.
(op_read): Likewise for bp.
(op_readdir): Don't alloca a buffer here. Instead initialize
BUF and BUFSIZE to 0 and let the server (eh, MiG) do it.
munmap BUF before returning.
|
|
* cache.c (scan_creds): Move I inside for-statement.
Replace inner for-loop with a while-loop. New variable
NEXT_I set to I->NEXT, because we might free I.
Set I to NEXT_I at end of while block.
Move update of leastidlastuse inside if block, because
otherwise we will constantly prevent ourself from scanning.
(scan_fhs): Very much the same.
(scan_replies): Likewise. Also free CR.
(check_cached_reply): Make HASH value absolute (as XID can be
negative, and thus the modulus).
Initialize REFERENCES to 1.
|
|
2000-11-30 Marcus Brinkmann <marcus@gnu.org>
* dir.c (diskfs_lookup_hard): If name is too long, clear
DS before returning ENAMETOOLONG.
pfinet:
2000-11-02 Marcus Brinkmann <marcus@gnu.org>
* tunnel.c (trivfs_S_io_get_owner): Add return type to silence
compiler warning.
|
|
|
|
* changelog: Update to reflect Debian upgrade.
* rc: New file.
* rules: Install rc.
* control: Add Build-Depends.
|
|
The last two changes introduced two new inode overlaps
(file_start was not shifted by store block size, and directories'
shifted file_start offset can be the same as the struct dirrect
offset of their first directory entry).
* inode.c (use_file_start_as_id): New function to determine
if to use file_start or struct dirrect * as node id.
The directory recognition code comes from read_disknode.
(cache_inode): Use use_file_start_as_id instead doing the work
ourselve. Shift file_start by store->log2_block_size.
(load_inode): Likewise.
* lookup.c (diskfs_get_directs): Likewise.
Declare use_file_start_id.
|
|
* ops.c (netfs_attempt_mkdir): Add casts -1 -> (struct iouser *) -1
to silence gcc warning.
(netfs_attempt_create_file): Likewise.
|
|
Fix hard link handling for non-zero length files.
* inode.c: Fix comment about inode numbers.
(node_cache): New member ID to store unique identifier.
(inode_cache_find): Change RECORD arg into ID and compare it
with id member of node_cache.
(cache_inode): Swap order of args and add new arg RR (change dr
into record along the way). Use RR to find out cache ID.
Use id member of node_cache to look for ID. Cache ID.
(load_inode): Call inode_cache_find with correct ID, depending
on RR and file size. Frob arguments to cache_inode to comply with
the new definition.
(read_disknode): Set st_ino according depending on RR and file size.
* lookup.c: Doc spelling fix.
(diskfs_get_directs): Include code again that was removed by last change,
but use it only if not symlink or zero length file.
|
|
Closes Debian Bug #68417:
* rr.c (rrip_work): In helper function add_comp set targused to
zero after malloc, and loop over realloc in case doubling is not
enough. After finalizing the link, set VALID_SL valid flag.
* inode.c (read_disknode): For links use rl->target instead
rl->name.
Closes Debian Bug #69281: Don't use file_start as inode numbers,
but the offset of the directory record in disk_image. This is what
Linux 2.4 does.
* isofs.h (struct disknode): New member struct dirrect *dr.
* inode.c: Fix comment about inode numbers.
(struct node_cache): Fix comment about file_start (it's not unique).
In fact, file_start is invalid for symlinks, and only stored here
for convenience. Maybe caching file_start can be avoided by
rearranging the code.
(inode_cache_find): Change first argument from off_t file_start
to struct dirrect *dr and fix the doc.
Compare cached value of DR with this argument, instead FILE_START.
(diskfs_cached_lookup): Set DR member of DN.
(load_inode): Call inode_cache_find with RECORD instead FILE_START.
Set DR member of DN.
(read_disknode): Set inode number to DR - DISK_IMAGE instead
FILE_START.
* lookup.c (diskfs_get_directs): Remove variable file_start.
Don't calculate file_start. Set D_FILENO to EP - DISK_IMAGE
instead FILE_START.
|
|
* hurd_types.h: Doc fix reported by Neal H Walfield
(neal@cs.uml.edu), STORAGE_NULL is actually STORAGE_ZERO.
|
|
* wire.c: Include <error.h>.
|