summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-16Add getting swap information from swapon and procfsSamuel Thibault
* hurd/default_pager.defs (default_pager_storage_info): New RPC. * hurd/default_pager_reply.defs: Skip default_pager_storage_info RPC. * hurd/default_pager_types.h: Include <mach/machine/vm_types.h>. (vm_size_array_t): New type. * mach-defpager/priv.h (part): Add `name' field. * mach-defpager/default_pager.c (new_partition): Allocate and fill `part->name' field. Free it on error. (destroy_paging_partition): Free `part->name' field. (S_default_pager_storage_info): New function. * procfs/Makefile (SRCS): Add default_pagerUser.c. * procfs/rootdir.c: Include "default_pager_U.h". (rootdir_gc_swaps): New function. (rootdir_entries): Add "swaps" entry. * sutils/swapon.c: Include <argz.h> (show): New variable. (options): Add --show/-S option. (def_pager, dev_master): New variables (swaponoff): Move getting `def_pager' to... (get_def_pager): ... new function. (main): Support 'S' option. * trans/proxy-defpager.c (S_default_pager_storage_info): New function.
2016-03-15Show firmlink mounts to mount pointsSamuel Thibault
* trans/mtab.c (mtab_populate): Always open the underlying node, and pass it to mtab_mark_as_seen instead of the translated node.
2016-03-15Add get_source support to firmlinkSamuel Thibault
* trans/firmlink.c (trivfs_get_source): New function.
2016-03-15ext2fs: Fix adding blocks to free blocks cacheSamuel Thibault
* ext2fs/pager.c (disk_cache_info_free_push): Add prototype. (disk_pager_notify_evict): When dropping DC_INCORE flag, if the block becomes free (no reference and no DC_DONT_REUSE flags), call disk_cache_info_free_push. (disk_cache_block_deref): Only call disk_cache_info_free_push if the flags of the block do not contain DC_DONT_REUSE flags.
2016-03-13Add missing RPC definitionsSamuel Thibault
* hurd/process_request.defs (proc_make_task_namespace_request): New definition. * hurd/process_reply.defs (proc_make_task_namespace_reply): Skip definition.
2016-03-07utils/fakeauth: fix invocation of programs from PATHJustus Winter
* utils/fakeauth.c (main): Replace the right element of the argument vector. This fixes running scripts from PATH using fakeroot.
2016-02-29Fix parallel buildSamuel Thibault
* console-client/Makefile (parser.tab.h): Redefine the standard yacc rule to make it build the header too, to avoid concurrency between the standard yacc rule and the rule that builds the header. * sutils/Makefile (OBJS): Append .o suffix to $(progs) instead of .c.
2016-02-28Fix use-after-free in libps.Esa Peuha
* libps/fmt.c (_fmt_create): Free new_fmt->src before new_fmt if reallocating fields fails.
2016-02-28Fix mustbedir mechanism for symlinksSamuel Thibault
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): When following a symlink, if mustbedir is true, always append a slash to the symlink target, not only when the target is absolute. Reset mustbedir to 0 before continuing the lookup loop. * libnetfs/dir-lookup.c (netfs_S_dir_lookup): When following a symlink, if mustbedir is true, append a slash to the symlink target. Reset mustbedir to 0 before continuing the lookup loop. * libtreefs/dir-lookup.c (_treefs_s_dir_lookup): Likewise.
2016-02-27Fix parallel installSamuel Thibault
* sutils/Makefile (install): Do not depend on $(prefix)/dev. ($(prefix)/dev/MAKEDEV): Depend on $(prefix)/dev²
2016-02-23libports: preserve the complex message flagJustus Winter
* libports/manage-multithread.c (internal_demuxer): Preserve all message flags when we store the objects address as payload in the message. * libports/manage-one-thread.c (internal_demuxer): Likewise.
2016-02-23procfs: adapt to kernel interface changeJustus Winter
procfs makes use of the debug interface which is subject to change. * procfs/rootdir.c (rootdir_gc_slabinfo): The flag CACHE_FLAGS_NO_RECLAIM is no longer used.
2016-02-22fix Xioctl-proto.defs creationBartlomiej Puget
* hurd/Makefile (%.h): Remove heading spaces. (%ioctl-requests.list): Protect asterisk. * hurd/gensym.awk: Do not print newline in __asm statement.
2016-02-22utils/mount: start translators with stderr closedJustus Winter
Apparently some users of 'mount' do not cope with any output being generated from the spawned translator. * utils/mount.c (do_mount): Start translators with stderr closed.
2016-02-21trans/crash: fix suspending taskJustus Winter
* trans/crash.c (S_crash_dump_task): Fix looking up 'user_proc'.
2016-02-16nfs: fix deallocation of struct node.Flavio Cruz
* nfs/cache.c: Do not free np->nn since np and np->nn are being allocated contiguously.
2016-02-15Make fakeroot forward send errors instead of crashingSamuel Thibault
* trans/fakeroot.c (netfs_demuxer): When forwarding an unknown request fail, forward the error instead of crashing.
2016-02-15libnetfs: remove unused fields.Flavio Cruz
* libnetfs/netfs.h: Remove prevp and next fields from struct node.
2016-02-15libdiskfs: fix and improve locking in nrefs/nput.Flavio Cruz
* libnetfs/node-nput.c: Do not unlock the node since it will be unlocked later. * libnetfs/node-nrele.c: Do not lock the node twice if not needed.
2016-02-15nfs: Use libihash for the node cache.Flavio Cruz
* nfs/cache.c: Remove old node cache and use libihash. Use a pointer to the node handle as the key and the node itself as the value. Use netfs_make_node_alloc to allow libihash to set 'slot'. * nfs/nfs.c: Pass in a struct handle instead. * nfs/nfs.h: Add a hurd_ihash_locp_t field and remove hnext and hprevp.
2016-02-14Fix function nameSamuel Thibault
* procfs/main.c (set_default_options): Rename to set_compatibility_options. (argp_parser): Update call accordingly.
2016-02-14Fix hang on reauthenticationSamuel Thibault
One needs to keep the port being reauthenticated alive until we are sure the server has complete authentication. * libfshelp/fetch-root.c (fshelp_fetch_root): Deallocate `port' after auth_user_authenticate has completed. * trans/fakeroot.c (netfs_S_dir_lookup): Likewise with `file'.
2016-02-14Make sure to complete auth_server_authenticateSamuel Thibault
* boot/boot.c (S_io_reauthenticate): Keep calling auth_server_authenticate while it returns EINTR. * proc/mgt.c (S_proc_reauthenticate): Likewise.
2016-02-13Use libihash to store directory entries in ftpfs.Flavio Cruz
* ftpfs/ftpfs.h: Add dir_locp for each directory entry and replace the table with a libihash table. * ftpfs/dir.c: Modify the code to use libihash. Remove several functions such as rehash and insert.
2016-02-13utils/vmallocate: new utilityJustus Winter
* utils/Makefile (targets): Add 'vmallocate'. * utils/vmallocate.c: New file.
2016-02-08Fixed leaks in _netfs_translator_callback2_fnJames Clarke
* libnetfs/trans-callback.c (_netfs_translator_callback2_fn): Fixed leaking iouser and peropen structs on error.
2016-02-07Check for a return value in netfs_make_peropen before using it in ↵Flavio Cruz
netfs_make_protid. * libnetfs/trans-callback.c: Add check for netfs_make_peropen.
2016-02-07devnode: fix falling back to the kernel driverJustus Winter
* devnode/devnode.c (ds_device_open): Do not exit if opening the master device fails. (parse_opt): Likewise.
2016-02-07mach-defpager: link dynamicallyJustus Winter
* mach-defpager/Makefile (LDFLAGS): Drop.
2016-02-07Remove libfshelp/trans.h and libfshelp/locks.h.Flavio Cruz
* libfshelp/locks.h: Remove. * libfshelp/trans.h: Remove. struct transboot is not used anywhere. * libfshelp/fetch-root.c: Adjust includes. * libfshelp/lock-acquire.c: Likewise. * libfshelp/lock-init.c: Likewise.
2016-02-07Use refcount_t for peropen reference counting in libnetfs.Flavio Cruz
* libnetfs/netfs.h: Use refcount_t. * libnetfs/make-peropen.c: Initialize to 1 with refcount_init just like in libdiskfs. * libnetfs/make-protid.c: Don't increment the count here. Do it like libdiskfs. * libnetfs/io-duplicate.c: Add refcount_ref since netfs_make_protid no longer increments the refcount. * libnetfs/io-reauthenticate.c: Likewise. * libnetfs/io-restrict-auth.c: Likewise. * libnetfs/release-peropen.c: Dereference without locking.
2016-02-05utils/settrans: improve --chroot functionalityJustus Winter
Add an option '--chroot-chdir' to settrans and make it chdir to this directory before executing the target program. Also, look up the executable in PATH. With these changes we no longer need to use the shell inside the chroot in the convenience scripts, and hence do not require it to be installed inside the chroot. * utils/fakeroot.sh: Simplify using the new option. * utils/remap.sh: Likewise. * utils/settrans.c (OPT_CHROOT_CHDIR): New constant. (options): New option 'chroot-chdir'. (main): Handle new option. Search for target executable in PATH. * utils/fakeauth.c (main): Likewise.
2016-02-04exec: remove duplicate function callEsa Peuha
* exec/main.c (main) Remove second call to trivfs_startup from commit a5d384c.
2016-01-19procfs: Move setting default parameters to a separate functionSamuel Thibault
* procfs/main.c (set_default_options): New function (argp_parser): Call `set_default_options'.
2016-01-19Fix typoSamuel Thibault
* exec/Makefile (targets): Rename to target.
2016-01-17Also build exec.staticSamuel Thibault
Which can be more convenient than using ld.so to boot the Hurd * exec/Makefile (targets): Add exec.static
2016-01-14Fix gcc signedness warningsSamuel Thibault
* pfinet/linux-src/include/linux/skbuff.h (__skb_pull): Return unsigned char * instead of char *.
2016-01-13Fix O_DIRECTORY lookup on trivial translatorsFlavio Cruz
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): If mustbedir, make sure entry is a directory by retrying "/", or starting the translator and retrying "/". * libnetfs/dir-lookup.c (netfs_S_dir_lookup): Likewise.
2016-01-03Fix pfinet crashSamuel Thibault
During rsyslog testsuite, it does happen that threads running schedule_timeout get woken up by something else than the timer. The (local) timer needs to be removed in that case. Let's just always remove it, like Linux does. * pfinet/glue-include/linux/sched.h (schedule_timeout): Remove local timer before returning.
2016-01-03Make private variables staticSamuel Thibault
* pfinet/timer-emul.c (timers, timer_thread): Make variables static.
2016-01-03pflocal: Do not abort on too small getopt parameterSamuel Thibault
* pflocal/socket.c (S_socket_getopt): When *value_len is too small, return EINVAL instead of aborting.
2016-01-03Add dumb SO_ERROR support to pflocalSamuel Thibault
pflocal does not currently have asynchronous operations, so we can make SO_ERROR just report 0. * pflocal/socket.c (S_socket_getopt): For `level' SOL_SOCKET and `opt' SO_ERROR, report 0.
2016-01-02allow pfinet to link using -O0Flavio Cruz
This fixes a long list of undefined references when compiling with -O0 by using static instead of extern in header files.
2016-01-01fix mach-defpager static linkingFlavio Cruz
* mach-defpager/Makefile: Allow multiple definitions for mach-defpager.
2015-12-31fix compiler warning in hurd/fstestsFlavio Cruz
* fstests/fstests.c (main): Only declare 'root' when HURDISH_TESTS is defined.
2015-12-31Drop OTHERLIBS and use LDLIBS exclusivelyFlavio Cruz
When cross-compiling, OTHERLIBS magically turns -lpthread into the path to the host libpthread.so file, resulting in build issues. LDLIBS does not suffer from this problem and it seems that is already being used in other Makefiles. This patch removes OTHERLIBS entirely from the build system. * Makeconf: Remove references to OTHERLIBS * auth/Makefile: Replace OTHERLIBS with LDLIBS. * boot/Makefile: Likewise. * console/Makefile: Likewise. * exec/Makefile: Likewise. * ext2fs/Makefile: Likewise. * fatfs/Makefile: Likewise. * ftpfs/Makefile: Likewise. * hostmux/Makefile: Likewise. * isofs/Makefile: Likewise. * libhurd-slab/Makefile: Likewise. * nfs/Makefile: Likewise. * nfsd/Makefile: Likewise. * pfinet/Makefile: Likewise. * proc/Makefile: Likewise. * procfs/Makefile: Likewise. * random/Makefile: Likewise. * storeio/Makefile: Likewise. * term/Makefile: Likewise. * tmpfs/Makefile: Likewise. * usermux/Makefile: Likewise.
2015-12-31Use DEVICE_IMPORTS to include libports/ports.hFlavio Cruz
On Thu, Dec 31, 2015 at 04:28:14PM +0100, Justus Winter wrote: > Quoting Samuel Thibault (2015-12-31 16:11:30) > > Flavio Cruz, on Thu 31 Dec 2015 15:56:31 +0100, wrote: > > > This fixes three compiler warnings about ports_payload_get_name. > > > > > > * devnode/Makefile: Define DEVICE_IMPORTS. > > > * term/Makefile: Likewise. > > > * trans/Makefile: Likewise. > > > > Why not adding them to the corresponding mig-mutate.h? > > Sometimes we don't have a mig-mutate.h, e.g. for most (all?) > translators in trans/. I prefer stuffing that in a .h as well, but I > wouldn't be opposed to just applying the patch, as we use both ways of > mutating the mig types. Agreed. I think only devnode should include it in mig-mutate.h. For term, only some stubs are including mig-mutate.h. For trans, there's no mig-mutate.h at all. Here's the modified patch.
2015-12-31Define IO_OUTTRAN so that term_on_pty returns a mach_port_tFlavio Cruz
* libtrivfs/mig-decls.h: Implement trivfs_convert_to_port. * term/mig-mutate.h: Define IO_OUTTRAN.
2015-12-30Add missing libraries to fix link errorsFlavio Cruz
This fixes several linking problems I had in my recent cross-compilation of the Hurd. I added missing static libraries and also organized some of the targets for more concise rules. * console-client/Makefile: Add libiohelp.a and libihash.a. * daemons/Makefile: Add libihash.a and libshouldbeinlibc.a. * devnode/Makefile: Add iohelp and ihash to HURDLIBS. * random/Makefile: Likewise. * trans/Makefile: Reorder targets alphabetically and add libiohelp.a and libihash.a. * utils/Makefile: Add libihash.a.
2015-12-30fix compiler warnings in hurd/nfs and hurd/nfsdFlavio Cruz
* nfsd/fsys.c (init_filesystems): Use 'm' qualifier instead of 'a' for allocating the name in fscanf call.