[PATCH gnumach 2/3] kern: silence compiler warning about uninitialized variable

2014-09-30 Thread Justus Winter
* kern/slab.c (kmem_cache_compute_sizes): Initialize optimal_size and assert that a size is selected. --- kern/slab.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kern/slab.c b/kern/slab.c index e8451a8..19ebfed 100644 --- a/kern/slab.c +++ b/kern/slab.c @@ -702,7 +702,7 @

[PATCH gnumach 3/3] ipc: use fast modulo operation in local hash table

2014-09-30 Thread Justus Winter
* ipc/ipc_table.h: Document that table sizes must be powers of two. * ipc/ipc_hash.c (IH_LOCAL_HASH): Use fast modulo operation. --- ipc/ipc_hash.c | 2 +- ipc/ipc_table.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ipc/ipc_hash.c b/ipc/ipc_hash.c index 8285717..c2c6d6e

[PATCH gnumach 1/3] kern: fix type of recompute_priorities

2014-09-30 Thread Justus Winter
* kern/sched_prim.c (recompute_priorities): Fix type. * kern/sched_prim.h (recompute_priorities): Likewise. --- kern/sched_prim.c | 2 +- kern/sched_prim.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kern/sched_prim.c b/kern/sched_prim.c index 1d2e14e..66eb9c9 100644 ---

Re: [PATCH gnumach 3/3] ipc: use fast modulo operation in local hash table

2014-09-30 Thread Justus Winter
Quoting Samuel Thibault (2014-09-30 14:23:34) > Justus Winter, le Tue 30 Sep 2014 14:06:18 +0200, a écrit : > > @@ -45,6 +45,8 @@ > > * an ipc_table_size structure. These structures must > > * be elements of an array, ipc_table_entries. > > * > > + *

[PATCH gnumach] Add protected payloads to NEWS

2014-10-01 Thread Justus Winter
--- NEWS | 4 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 9a9f620..357b23f 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ Numerous cleanups and stylistic fixes of the code base. Several problems have been identified using static analysis tools and subsequently been fixe

Re: mtab and firmlink loop

2014-10-02 Thread Justus Winter
Hi :) Quoting Samuel Thibault (2014-10-02 01:58:11) > We're having issues with schroot and mtab on exodar. Looking a bit at > rpctrace, one can see things like this: > > /home/srv/chroot/schroot-unpack/youpi/home/srv/chroot/schroot-unpack/youpi/home/srv/chroot/schroot-unpack/youpi/home/srv/chroot

Re: mtab and firmlink loop

2014-10-05 Thread Justus Winter
Hi Samuel, Quoting Justus Winter (2014-10-02 12:57:52) > Quoting Samuel Thibault (2014-10-02 01:58:11) > > We're having issues with schroot and mtab on exodar. Looking a bit at > > rpctrace, one can see things like this: > > > > /home/srv/chroot/schroot-unpa

[PATCH] trans/mtab: avoid firmlink loops

2014-10-05 Thread Justus Winter
* trans/mtab.c (struct mtab): Add a hash table to keep track of seen ports. (mtab_mark_as_seen): New function that records the identity port of a given node in the hash table and reports whether it has been there before. (mtab_populate): Use the new function to avoid running in circles. (main, open

[PATCH mig] Add support for protected payloads

2014-10-10 Thread Justus Winter
Add support for protected payloads. The new `intranpayload' option can be used to specify a translation function translating payloads to values of the translated type. This function will be used instead of the `intran' function to to look up the receiving object of a message in a server. This mak

[PATCH gnumach] doc: restore section `Inherited Ports'

2014-10-10 Thread Justus Winter
Previously, the section `Inherited Ports' was commented out. This was done, as the functionality was unused by the Hurd. The functions `mach_ports_register' and `mach_ports_lookup' were never removed, and are exposed to user space. This patch brings the documentation back and adds a remark at th

Re: [PATCH mig] Add support for protected payloads

2014-10-10 Thread Justus Winter
Quoting Svante Signell (2014-10-10 15:06:58) > On Fri, 2014-10-10 at 14:45 +0200, Justus Winter wrote: > > > +* Add support for protected payloads. The new `intranpayload' option > > + can be used to specify a translation function translating payloads > > + to

bug in puts(3) affecting /hurd/init

2014-10-15 Thread Justus Winter
Hello, there is a strange bug in puts(3) affecting /hurd/init (or /hurd/startup if you live on the edge). It is also sometimes affecting printf(3), as it is replaced by gcc with a call to puts under certain conditions (e.g. with a format string ending in '\n' without any conversion specifiers).

Re: [PATCH 8/8] startup: bind the startup server to /servers/startup

2014-10-15 Thread Justus Winter
Hi Roland :) Quoting David Michael (2014-09-18 23:14:17) > On Wed, Sep 3, 2014 at 8:33 AM, Justus Winter > <4win...@informatik.uni-hamburg.de> wrote: > > Bind the startup server to /servers/startup instead. Use this to > > contact the startup server. > > I'm t

Re: bug in puts(3) affecting /hurd/init

2014-10-16 Thread Justus Winter
Quoting Samuel Thibault (2014-10-16 01:07:13) > Does the puts() call return some error? No. > Justus Winter, le Wed 15 Oct 2014 16:46:50 +0200, a écrit : > > So, startup calls setbuf while libdiskfs does not. > > Does libdiskfs really do some puts that is working? Yes. If

[PATCH hurd 3/8] libports: implement the Hurd server introspection protocol

2014-10-23 Thread Justus Winter
Add a compact and self-contained introspection server to libports. Add functions to to label port buckets and classes. Make it possible to provide a function that given an object of a class, returns a human-readable representation for it. * libports/introspection.c: New file. * libports/create-bu

Hurd server introspection and tracing

2014-10-23 Thread Justus Winter
Hello :) this patch series adds introspection and tracing facilities to the Hurd servers using libports. This isn't ready yet, but I'd like to give everyone a chance to complain early on. Some notes: * I use Machs `Inherited Ports' mechanism to install a receive right at a well-known location

[PATCH hurd 1/8] hurd: add an Hurd server introspection protocol

2014-10-23 Thread Justus Winter
Most Hurd servers use libports to manage receive rights and the associated objects. These procedures can be used to query the state associated with receive rights managed by libports. The procedures are not specific to libports. Any Hurd server can implement this protocol. To do so, a server in

[PATCH hurd 8/8] utils/rpctrace: support attaching to servers

2014-10-23 Thread Justus Winter
* utils/rpctrace.c (options): Add `--pid' and `--reference-port'. (print_contents): Prevent the translation of rights if `req' is NULL. We will use this to print messages in `trace_server'. (parse_task): New function. (trace_server): Mach server function that displays relayed messages. (trace_class

[PATCH hurd 4/8] utils: implement portinfo --query-process

2014-10-23 Thread Justus Winter
Implement portinfo --query-process (hopefully) as envisaged by a comment in portinfo.c. We use the new Hurd server introspection protocol to obtain information about the objects related to ports: % utils/portinfo --receive --query-process 5586 77 77: receive [bucket: diskfs_port_bucket, class

[PATCH hurd 5/8] libdiskfs: annotate objects managed by libports

2014-10-23 Thread Justus Winter
Label all port classes and diskfs_port_bucket. Provide diskfs_format_debug_info which prints a human-readable description of a protid object, which notably includes the path and the inode number. * libdiskfs/diskfs.h (diskfs_format_debug_info): New declaration. * libdiskfs/init-init.c (diskfs_for

[PATCH hurd 2/8] libintrospection: a library for Hurd server introspection

2014-10-23 Thread Justus Winter
* Hurd server introspection. + + Copyright (C) 2014 Free Software Foundation, Inc. + + Written by Justus Winter <4win...@informatik.uni-hamburg.de> + + This file is part of the GNU Hurd. + + The GNU Hurd is free software; you can redistribute it and/or + modify it under the term

[PATCH hurd 6/8] libpager: annotate objects managed by libports

2014-10-23 Thread Justus Winter
Label _pager_class and provide a function which prints a human-readable description of a pager object. * libpager/pager-create.c (format_debug_info): New function. (create_class): Label _pager_class. --- libpager/pager-create.c | 20 1 file changed, 20 insertions(+) diff --g

[PATCH hurd 7/8] ext2fs: annotate objects managed by libports

2014-10-23 Thread Justus Winter
Install a specialized version of libpagers format_debug_info which prints more detailed information, like the nodes inode number for file pager objects. Also label both pager buckets. * ext2fs/pager-create.c (format_debug_info): New function. (create_disk_pager): Install our own format_debug_info

[PATCH hurd] mach-defpager: use protected payloads for object lookups

2014-10-25 Thread Justus Winter
* mach-defpager/default_pager.c (pager_port_list_insert): Set protected payload. (pager_port_list_delete): Clear protected payload. * mach-defpager/mig-decls.h (begin_using_default_pager_payload): New function. * mach-defpager/mig-mutate.h: Add mutator. --- mach-defpager/default_pager.c | 9 ++

How to make use of the protected payloads

2014-10-25 Thread Justus Winter
Hello :) here is a patch that demonstrates how the new protected payloads can be used to optimize the receiver lookup in Hurd servers. It patches mach-defpager, which is very self-contained due to its heritage, most importantly it does not use libports. This made it an excellent target to conver

Re: Hurd server introspection and tracing

2014-10-25 Thread Justus Winter
Quoting Richard Braun (2014-10-25 16:01:35) > On Thu, Oct 23, 2014 at 05:16:38PM +0200, Justus Winter wrote: > > this patch series adds introspection and tracing facilities to the > > Hurd servers using libports. This isn't ready yet, but I'd like to > > give ever

Re: Hurd server introspection and tracing

2014-10-25 Thread Justus Winter
Quoting Richard Braun (2014-10-25 17:07:11) > On Sat, Oct 25, 2014 at 04:57:18PM +0200, Justus Winter wrote: > > No, I was referring to these two new functions: > > > > /* Label BUCKET with LABEL. */ > > void ports_label_bucket (struct port_bucket *bucket, const char

[PATCH hurd] libpager: use a fixed number of threads

2014-10-27 Thread Justus Winter
1f8405a..4576e12 100644 --- a/libpager/priv.h +++ b/libpager/priv.h @@ -134,10 +134,6 @@ extern int _pager_page_errors[]; struct port_class *_pager_class; -void _pager_wait_for_seqno (struct pager *, mach_port_seqno_t); -void _pager_release_seqno (struct pager *, mach_port_seqno_t); -void _page

let's use a fixed number of threads for libpager

2014-10-27 Thread Justus Winter
Hello :) this is a new patch that makes libpager use a fixed number of threads, currently one (plus one receiving messages and enqueuing them into a userspace queue). If our store interface improves, we can increase the number of worker threads (the work delegation uses a linear scan over the wor

Re: Release process & rolling new releases

2014-10-28 Thread Justus Winter
Hello :) Quoting Samuel Thibault (2014-10-06 11:30:26) > Thomas Schwinge, le Mon 06 Oct 2014 11:22:50 +0200, a écrit : > > So, anything specific that we should wait for before bundling the next > > release snapshots? > > It'd be nice to include the init->startup series after review. (I'm OK > wit

Re: let's use a fixed number of threads for libpager

2014-10-28 Thread Justus Winter
Quoting Richard Braun (2014-10-28 17:59:16) > On Tue, Oct 28, 2014 at 01:37:43AM +0100, Justus Winter wrote: > > Preliminary testing on my box as well as on darnassus looks promising > > (modulo some pfinet weirdness that Richard is investigating [and imho > > if there is a

[PATCH hurd 2/2] include: use assert-backtrace.h in refcount.h

2014-10-28 Thread Justus Winter
* include/refcount.h: Use assert-backtrace.h. --- include/refcount.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/refcount.h b/include/refcount.h index ebde42d..5bb9660 100644 --- a/include/refcount.h +++ b/include/refcount.h @@ -22,7 +22,7 @@ #ifndef _HURD_REFCOUNT

backtrace on assertion failure

2014-10-28 Thread Justus Winter
Hello, for reference, here is the patch. I'm not sure how to properly integrate this. Justus

[PATCH hurd 1/2] libshouldbeinlibc: add assert.h variant that prints backtraces

2014-10-28 Thread Justus Winter
* libshouldbeinlibc/assert-backtrace.h: New file. * libshouldbeinlibc/Makefile (installhdrs): Add assert-backtrace.h. --- libshouldbeinlibc/Makefile | 4 ++- libshouldbeinlibc/assert-backtrace.h | 68 2 files changed, 71 insertions(+), 1 deletion(-)

Re: [PATCH hurd] libpager: use a fixed number of threads

2014-11-03 Thread Justus Winter
Hi :) Quoting Samuel Thibault (2014-11-02 13:52:16) > AIUI, this does work because you had previously separated disk and file > pagers? Yes. > > + /* What follows is basically the second part of > > + mach_msg_server_timeout. */ > > So you need to copy the copyright years :) That's

[PATCH mig] Provide default implementations for server functions

2014-11-07 Thread Justus Winter
By providing default implementations, servers can provide partial implementations of protocols without having to stub out functions. * server.c (WriteDefaultRoutine): New function. (WriteRoutine): Call WriteDefaultRoutine. --- server.c | 24 1 file changed, 24 insertions(

Re: [PATCH mig] Provide default implementations for server functions

2014-11-07 Thread Justus Winter
Quoting Samuel Thibault (2014-11-07 15:07:12) > Justus Winter, le Fri 07 Nov 2014 15:04:17 +0100, a écrit : > > By providing default implementations, servers can provide partial > > implementations of protocols without having to stub out functions. > > I'm not sure w

Re: [PATCH mig] Provide default implementations for server functions

2014-11-07 Thread Justus Winter
Quoting Justus Winter (2014-11-07 15:41:43) > The reason why I want it is: > > % git grep EOPNOTSUPP|wc --lines > 1071 Better: % spatch --smpl-spacing --sp-file refactor/eopnotsupp.cocci --dir . | grep EOPNOTSUPP | wc --lines 269 So 269 functions matching the following ad-hoc cocc

[PATCH hurd 1/9] Makeconf: handle the gnumach protocol

2014-11-07 Thread Justus Winter
* Makeconf (mach_defs_names): Add `gnumach'. --- Makeconf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makeconf b/Makeconf index 32eec13..f0d3fe3 100644 --- a/Makeconf +++ b/Makeconf @@ -575,7 +575,9 @@ vpath %.defs $(top_srcdir)/hurd # These we want to find in the libc

[PATCH hurd 4/9] boot: drop bootstrap compat code

2014-11-07 Thread Justus Winter
GNU Mach never sent old-style bootstrap messages. Drop the unused compatibility code. * boot/boot.c (request_server): Drop unused code. (bootstrap_compat): Drop unused function. --- boot/boot.c | 78 - 1 file changed, 78 deletions(-) d

[PATCH hurd 2/9] proc: gracefully handle failure to increase priority

2014-11-07 Thread Justus Winter
* proc/main.c (increase_priority): New function. (main): Move code increasing the proc servers priority to a new function and handle errors gracefully. --- proc/main.c | 44 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/proc/main.c b/p

[PATCH hurd 5/9] boot: remove unused function `boot_script_read_file'

2014-11-07 Thread Justus Winter
The unused function `boot_script_read_file' requires access to the default pager, which is privileged. * boot/boot.c (defpager): Remove now unused variable. (boot_script_read_file): Remove unused function. (main): Do not acquire port to the default pager. * boot/boot_script.h (boot_script_read_fil

[PATCH hurd 3/9] startup: also open `console' for reading

2014-11-07 Thread Justus Winter
* startup/startup.c (main): Also open `console' for reading. --- startup/startup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/startup/startup.c b/startup/startup.c index ff58270..e177075 100644 --- a/startup/startup.c +++ b/startup/startup.c @@ -557,7 +557,7 @@ main (int a

[PATCH hurd 7/9] boot: support ds_device_get_status with flavor DEV_GET_RECORDS

2014-11-07 Thread Justus Winter
* boot/boot.c (ds_device_get_status): Support flavor DEV_GET_RECORDS. --- boot/boot.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/boot/boot.c b/boot/boot.c index a655107..d35ce50 100644 --- a/boot/boot.c +++ b/boot/boot.c @@ -1150,18 +115

[PATCH hurd 8/9] boot: implement pseudo-time device

2014-11-07 Thread Justus Winter
* boot/boot.c (pseudo_time): New variable. (main): Allocate port `pseudo_time'. (ds_device_open): Give out `pseudo_time'. (ds_device_map): Emulate Mach-style `Mapped Time'. --- boot/boot.c | 38 +++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/b

[PATCH hurd 9/9] boot: improve the demuxer

2014-11-07 Thread Justus Winter
Handle multiple request types as recommended by the Mach Server Writer's Guide section 4, subsection "Handling Multiple Request Types". This avoids initializing the reply message in every X_server function. * boot/boot.c (mig_reply_setup): Provide local version. (request_server): Rename to `boot_

[PATCH hurd 6/9] boot: drop obsolete device procedures

2014-11-07 Thread Justus Winter
* boot/boot.c (ds_xxx_device_set_status): Remove function. (ds_xxx_device_get_status): Likewise. (ds_xxx_device_set_filter): Likewise. --- boot/boot.c | 34 -- 1 file changed, 34 deletions(-) diff --git a/boot/boot.c b/boot/boot.c index 250018e..a655107 100644 ---

Re: [PATCH hurd] mach-defpager: use protected payloads for object lookups

2014-11-09 Thread Justus Winter
Quoting Samuel Thibault (2014-11-09 16:12:46) > Samuel Thibault, le Sun 09 Nov 2014 15:56:56 +0100, a écrit : > > Gabriele suggested on IRC that it may be due to unreviewed/unacked > > patches. I don't think anything pending is missing, but something not > > pending is indeed missing: the mig supp

Re: Problem with reinstallation, bootloader

2014-11-11 Thread Justus Winter
Quoting Riccardo Mottola (2014-11-11 10:37:21) > Interesting. Where can I get these more recent installers? Here: https://people.debian.org/~sthibault/hurd-i386/installer/cdimage/ > How can I get from HURD something similar to DMESG or lspci? We have lspci in the pciutils package? It was instal

[PATCH hurd] utils/rpctrace: fix crash while printing messages

2014-11-12 Thread Justus Winter
% fakeroot rpctrace install [...] 63<--66(pid5363)->io_read (-1 8192) = 0 [... rpctrace crashes] /bin/fakeauth: Segmentation fault for child 5362 /bin/settrans: Error 139 for child 5361 * utils/rpctrace.c (print_data): Fix this by guarding the code escaping non-printable characters introduced in

Unprivileged Subhurds

2014-11-12 Thread Justus Winter
Hello, I'm trying to get unprivileged Subhurds to work. The first part of the puzzle is in fact a tiny kernel patch to provide a robust parental relationship of tasks to userspace. Currently, /hurd/proc relies on posixesque processes to call proc_child to form a process hierarchy. I've written

[PATCH gnumach 2/2] include: add X_IMPORTS to ipc definitions

2014-11-12 Thread Justus Winter
This makes it possible to inject imports. * include/mach/gnumach.defs: Make it possible to inject imports. * include/mach/mach.defs: Likewise. * include/mach/mach_host.defs: Likewise. --- include/mach/gnumach.defs | 4 include/mach/mach.defs | 4 include/mach/mach_host.defs | 4 +

[PATCH gnumach 1/2] kern: provide notifications about new tasks

2014-11-12 Thread Justus Winter
These notifications are sent to the port registered via `register_new_task_notification' and provide a robust parental relation between tasks to a userspace server. * Makefrag.am: Add task_notify.defs. * include/mach/gnumach.defs: Add register_new_task_notification. * include/mach/task_notify.defs

Re: Unprivileged Subhurds

2014-11-13 Thread Justus Winter
Quoting Richard Braun (2014-11-13 11:30:20) > On Wed, Nov 12, 2014 at 04:49:07PM +0100, Justus Winter wrote: > > Overall it's looking good, time to get the discussion going. > > What privilege is required to request these notifications ? Possession of the privileged host con

Re: Unprivileged Subhurds

2014-11-13 Thread Justus Winter
Quoting Richard Braun (2014-11-13 12:25:14) > On Thu, Nov 13, 2014 at 12:09:03PM +0100, Justus Winter wrote: > > Possession of the privileged host control port, and it is only > > possible to register for these notifications once. > > How does this recurse in the subhurd ?

[PATCH hurd 1/5] Makeconf: handle the task_notify protocol

2014-11-13 Thread Justus Winter
* Makeconf (mach_defs_names): Add `task_notify'. --- Makeconf | 1 + 1 file changed, 1 insertion(+) diff --git a/Makeconf b/Makeconf index f0d3fe3..5439913 100644 --- a/Makeconf +++ b/Makeconf @@ -577,6 +577,7 @@ mach_defs_names = bootstrap exc mach mach4 \ mach_host mach_port mach_timer_

[PATCH hurd 3/5] proc: implement `proc_make_task_namespace'

2014-11-13 Thread Justus Winter
* proc/proc.h (struct proc): Add field `p_task_namespace'. * proc/mgt.c (S_proc_child): Propagate `p_task_namespace' to child. (allocate_proc): Initialize `p_task_namespace'. (namespace_terminate): New function. (process_has_exited): Reparent children of dead tasks in the namespace to the root proc

[PATCH hurd 4/5] hurd: add `proc_make_task_namespace'

2014-11-13 Thread Justus Winter
Add a new RPC to the process protocol to create task namespaces. These can be used by an unprivileged process to claims the responsibility to manage all tasks in this namespace. Any task created in this namespace will automatically be declared a child of the root process, and a `mach_notify_new_ta

[PATCH hurd 2/5] proc: register for new task notifications

2014-11-13 Thread Justus Winter
* proc/Makefile (MIGSTUBS): Add `gnumachServer.o'. * proc/main.c (message_demuxer): Handle the `task_notify' protocol. (main): Register for new task notificatinos. * proc/mgt.c (S_mach_notify_new_task): Add server function. --- proc/Makefile | 4 +++- proc/main.c | 11 ++- proc/mgt.c

[PATCH hurd 5/5] proc: fix build

2014-11-13 Thread Justus Winter
--- proc/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proc/Makefile b/proc/Makefile index 2275a66..7cc4af5 100644 --- a/proc/Makefile +++ b/proc/Makefile @@ -32,6 +32,9 @@ MIGSTUBS = processServer.o notifyServer.o \ OBJS = $(SRCS:.c=.o) $(MIGSTUBS) HURDLIBS = ihash ports shoul

[PATCH hurd-dde 1/3] libmachdev: fix getting parameter for get_status

2014-11-14 Thread Justus Winter
Complements aa949401. * libmachdev/net.c (device_get_status): Use count as number of parameter, not number of bytes. Take status as integer, not short. --- libmachdev/net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libmachdev/net.c b/libmachdev/net.c index e04b558..5

[PATCH hurd-dde 3/3] eth-multiplexer: improve the netfs_demuxer function

2014-11-14 Thread Justus Winter
Handle multiple request types as recommended by the Mach Server Writer's Guide section 4, subsection "Handling Multiple Request Types". This avoids initializing the reply message in every X_server function. The reply message has already been properly initialized in libports, so there is no need t

[PATCH hurd-dde 2/3] eth-multiplexer: fix device_{get, set}_status calls

2014-11-14 Thread Justus Winter
* eth-multiplexer/ethernet.c (set_promisc): Make flags an int, count must be 1. --- eth-multiplexer/ethernet.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eth-multiplexer/ethernet.c b/eth-multiplexer/ethernet.c index 32c5589..886f5df 100644 --- a/eth-multiplexer/ethe

Re: Release process & rolling new releases

2014-11-17 Thread Justus Winter
Quoting Justus Winter (2014-10-28 22:17:18) > Hello :) > > Quoting Samuel Thibault (2014-10-06 11:30:26) > > Thomas Schwinge, le Mon 06 Oct 2014 11:22:50 +0200, a écrit : > > > So, anything specific that we should wait for before bundling the next > > > release sn

Re: Release process & rolling new releases

2014-11-20 Thread Justus Winter
Quoting Samuel Thibault (2014-11-20 00:59:23) > I'm however wondering: I don't see much reviewing being done apart > from mine. It would help if some people could spend time on reviewing > patches. I'm not saying taking responsibility for the commit step or > anything, but just proofreading the s

Re: Release process & rolling new releases

2014-11-23 Thread Justus Winter
Quoting Samuel Thibault (2014-11-23 21:11:05) > Hello, > > David Michael, le Wed 19 Nov 2014 19:39:43 -0500, a écrit : > > The only issue was that /etc/hurd/runsystem.hurd didn't get installed. > > I tacked the following onto patch #4 in the series to try it. > > Justus, do we need it? I guess i

[PATCH hurd 2/2] libdiskfs: fix fabrication of protid

2014-11-23 Thread Justus Winter
* libdiskfs/dir-init.c (diskfs_init_dir): Fix fabrication of protid. --- libdiskfs/dir-init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libdiskfs/dir-init.c b/libdiskfs/dir-init.c index 4efded0..8301ca1 100644 --- a/libdiskfs/dir-init.c +++ b/libdiskfs/dir-init.c @@ -33

[PATCH hurd 1/2] libpager: make the request queue more memory-efficient

2014-11-23 Thread Justus Winter
Previously, `pager_demuxer' allocated a chunk of memory for the response message. But if memory gets scarce, the kernel will issue a large number of paging requests to free up memory. In such a situation, allocating memory is dangerous. Fix this by not allocating space for the response message,

[PATCH hurd-dde 1/7] Drop superfluous files

2014-11-26 Thread Justus Winter
* eth-multiplexer/device.h: Drop MIG-generated file. * libmachdev/device.defs: Drop superfluous file. --- eth-multiplexer/device.h | 336 --- libmachdev/device.defs | 175 2 files changed, 511 deletions(-) delete mode 100644 e

[PATCH hurd-dde 5/7] libmachdev: avoid malloc overhead when sending package

2014-11-26 Thread Justus Winter
* libmachdev/net.c (netif_rx_handle): Allocate message buffer on the stack. --- libmachdev/net.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libmachdev/net.c b/libmachdev/net.c index 5a5cd5d..7ddf95d 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -232,9 +232,7

[PATCH hurd-dde 2/7] Remove obsolete device server stubs

2014-11-26 Thread Justus Winter
Remove server implementations for the obsolete RPCs `xxx_device_set_status', `xxx_device_get_status', and `xxx_device_set_filter'. * devnode/devnode.c: Remove obsolete device server stubs. * eth-filter.multi-thread/filter.c: Likewise. * eth-filter/filter.c: Likewise. * eth-multiplexer/device_impl.

[PATCH hurd-dde 6/7] libmachdev: fix size of `net_rcv_msg' message

2014-11-26 Thread Justus Winter
Account for the `struct packet_header' that is prepended to the network packet in the calculation of the `net_rcv_msg' message. This complements e363aa56. * libmachdev/net.c (netif_rx_handle): Fix size of message. --- libmachdev/net.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libmachde

[PATCH hurd-dde 7/7] libmachdev: drop static libmachdev.so hack

2014-11-26 Thread Justus Winter
Previously, netdde was built against `libmachdev.a' to avoid some uninvestigated linking problems. netdde using a statically linked libmachdev lead to problems in the past. As the linking problems only affect functions required for block devices, which we do not use at this point, we can simply s

[PATCH hurd-dde 4/7] libmachdev: drop debugging printf

2014-11-26 Thread Justus Winter
* libmachdev/net.c (netif_rx_handle): Avoid calling `printf' for every incoming handle. --- libmachdev/net.c | 5 - 1 file changed, 5 deletions(-) diff --git a/libmachdev/net.c b/libmachdev/net.c index 53edcd0..5a5cd5d 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -104,8 +104,6 @@ s

[PATCH hurd-dde 3/7] libmachdev: drop unused function

2014-11-26 Thread Justus Winter
* libmachdev/ds_routines.c (mach_convert_device_to_port): Drop function. --- libmachdev/ds_routines.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index 5287bf4..e9fbe94 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_

Re: dns issue

2014-11-26 Thread Justus Winter
Hi Adam :) Quoting Adam Richards (2014-11-26 14:30:05) > I have been lurking on the IRC archive for sometime > and running your sources on VirtualBox on a Mac. You are a brave soul then, remember to keep some snapshots around if you are using my packages ;) > One of the updates about 3-4 (?) mon

[PATCH hurd-dde] libmachdev: avoid malloc overhead when sending package

2014-11-26 Thread Justus Winter
* libmachdev/net.c (netif_rx_handle): Allocate message buffer on the stack. --- libmachdev/net.c | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/libmachdev/net.c b/libmachdev/net.c index e04fa80..99368d7 100644 --- a/libmachdev/net.c +++ b/libmachdev/net.c @@ -223,7 +223

Re: Atomic file locking update

2014-11-27 Thread Justus Winter
Hi :) Quoting Samuel Thibault (2014-11-23 17:38:32) > Hello, > > While Svante is working on the record locking, I have worked on at > least fixing whole file locking: there was one bug in our current > implementation: flock(LOCK_SH); flock(LOCK_EX);, as per POSIX, does not > guarantee an atomic u

Protected payloads for the Hurd servers

2014-11-27 Thread Justus Winter
Hello, these patches make libports use Gnumachs protected payloads to optimize the receiver lookup. In fact, we can now dispatch most messages without acquiring a lock in libports. The first patch is for Gnumachs type definitions. It changes `mach_port_t' (and reply ports) so that we can inject

[PATCH gnumach] include: make `mach_port_t' payload-aware

2014-11-27 Thread Justus Winter
Honor a new macro `MACH_PAYLOAD_TO_PORT' to inject a translation function mapping payloads to port names in the definition of `mach_port_t'. * include/mach/std_types.defs (mach_port_t): Honor `MACH_PAYLOAD_TO_PORT'. * include/device/device.defs (reply_port_t): Likewise. * include/device/device_rep

[PATCH hurd 01/30] proc: fix NULL dereference

2014-11-27 Thread Justus Winter
This also restores the behavior before e9687ec4. * proc/notify.c (do_mach_notify_dead_name): Fix NULL dereference. --- proc/notify.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/proc/notify.c b/proc/notify.c index b6731ae..f179423 100644 --- a/proc/notify.c +++ b/pro

[PATCH hurd 03/30] Revert "random: fix a receiver lookup"

2014-11-27 Thread Justus Winter
-mutate.h include ../Makeconf diff --git a/random/mig-decls.h b/random/mig-decls.h deleted file mode 100644 index 87b7eb2..000 --- a/random/mig-decls.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2014 Free Software Foundation, Inc. - Written by Justus Winter. - - This file is part of the

[PATCH hurd 04/30] libports: add `ports_lookup_payload' and `ports_payload_get_name'

2014-11-27 Thread Justus Winter
a/libports/extern-inline.c b/libports/extern-inline.c new file mode 100644 index 000..fbc9e53 --- /dev/null +++ b/libports/extern-inline.c @@ -0,0 +1,22 @@ +/* Run time callable functions for extern inlines. + Copyright (C) 2014 Free Software Foundation, Inc. + + Written by Justus Wi

[PATCH hurd 06/30] libdiskfs: add payload-aware intrans functions

2014-11-27 Thread Justus Winter
* libdiskfs/diskfs.h (diskfs_begin_using_protid_payload): New function. (diskfs_begin_using_control_payload): Likewise. (diskfs_begin_using_bootinfo_payload): Likewise. * libdiskfs/fsmutations.h: Add mutators. --- libdiskfs/diskfs.h | 29 + libdiskfs/fsmutations.h

[PATCH hurd 05/30] libports: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* libports/mig-decls.h (begin_using_port_info_payload): New function. * libports/mig-mutate.h: Add mutator. --- libports/mig-decls.h | 6 ++ libports/mig-mutate.h | 4 2 files changed, 10 insertions(+) diff --git a/libports/mig-decls.h b/libports/mig-decls.h index f8c4f15..c88ff26 10064

[PATCH hurd 02/30] include: force all refcount functions to be inlined

2014-11-27 Thread Justus Winter
* include/refcount.h: Declare all functions `extern inline' instead of `static inline'. This forces those functions to be inlined, and allows us to use them in functions declared as `extern inline'. --- include/refcount.h | 34 +- 1 file changed, 17 insertions(+),

[PATCH hurd 09/30] libpager: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* libpager/mig-decls.h (begin_using_pager_payload): New function. * libpager/mig-mutate.h: Add mutators. --- libpager/mig-decls.h | 6 ++ libpager/mig-mutate.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/libpager/mig-decls.h b/libpager/mig-decls.h index 0c7b402..7e6b64f 100644 ---

[PATCH hurd 08/30] libtrivfs: add payload-aware intrans functions

2014-11-27 Thread Justus Winter
* libtrivfs/mig-decls.h (trivfs_begin_using_protid_payload): New function. (trivfs_begin_using_control_payload): Likewise. * libtrivfs/mig-mutate.h: Add mutators. --- libtrivfs/mig-decls.h | 58 ++ libtrivfs/mig-mutate.h | 3 +++ 2 files changed, 6

[PATCH hurd 10/30] libcons: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* libcons/mutations.h: Add mutator. * libcons/priv.h (begin_using_notify_payload): New function. --- libcons/mutations.h | 1 + libcons/priv.h | 6 ++ 2 files changed, 7 insertions(+) diff --git a/libcons/mutations.h b/libcons/mutations.h index c895447..4751340 100644 --- a/libcons/mutat

[PATCH hurd 11/30] auth: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* auth/mig-mutate.h: Add mutator. * auth/mig-decls.h (auth_payload_to_handle): New function. --- auth/mig-decls.h | 6 ++ auth/mig-mutate.h | 1 + 2 files changed, 7 insertions(+) diff --git a/auth/mig-decls.h b/auth/mig-decls.h index 09c7c70..fa7b06d 100644 --- a/auth/mig-decls.h +++ b/auth

[PATCH hurd 12/30] console: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* console/priv.h (begin_using_protid_payload): New function. * console/mutations.h: Add mutators. --- console/mutations.h | 3 +++ libnetfs/priv.h | 6 ++ 2 files changed, 9 insertions(+) diff --git a/console/mutations.h b/console/mutations.h index 4e1cc7e..87906cc 100644 --- a/console/mu

[PATCH hurd 19/30] startup: disable default payload to port mapping

2014-11-27 Thread Justus Winter
startup does not use libports. Therefor, it is not necessary to use the default payload to port translation function. * startup/Makefile (MIGSFLAGS): Disable the default payload to port translation function. --- startup/Makefile | 4 1 file changed, 4 insertions(+) diff --git a/startup/Make

[PATCH hurd 14/30] exec: add payload-aware intrans functions

2014-11-27 Thread Justus Winter
* exec/execmutations.h: Add mutators. * exec/mig-decls.h (begin_using_bootinfo_payload): New function. --- exec/execmutations.h | 3 +++ exec/mig-decls.h | 6 ++ 2 files changed, 9 insertions(+) diff --git a/exec/execmutations.h b/exec/execmutations.h index 2acca7a..0b5b8bb 100644 --- a/e

[PATCH hurd 13/30] console-client: make the demuxer payload-aware

2014-11-27 Thread Justus Winter
* console-client/trans.c (console_demuxer): make the demuxer payload-aware. --- console-client/trans.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/console-client/trans.c b/console-client/trans.c index 67cd149..224229e 100644 --- a/console-client/trans.c +++ b/

[PATCH hurd 15/30] pfinet: add payload-aware intrans functions

2014-11-27 Thread Justus Winter
* pfinet/mig-mutate.h: Add mutators. * pfinet/mig-decls.h (begin_using_socket_payload): New function. (begin_using_sockaddr_payload): Likewise. --- pfinet/mig-decls.h | 12 pfinet/mig-mutate.h | 4 2 files changed, 16 insertions(+) diff --git a/pfinet/mig-decls.h b/pfinet/mig-

[PATCH hurd 18/30] proc: add payload-aware intrans functions

2014-11-27 Thread Justus Winter
* proc/mig-decls.h (begin_using_proc_payload): New function. (begin_using_exc_payload): Likewise. * proc/mig-mutate.h: Add mutators. * proc/proc_exc.defs (exception_t): Add payload-aware in-translator function. --- proc/mig-decls.h | 17 + proc/mig-mutate.h | 4 proc/proc_

[PATCH hurd 29/30] libports: Fix build

2014-11-27 Thread Justus Winter
--- libports/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libports/Makefile b/libports/Makefile index f49cb9f..6e25cd7 100644 --- a/libports/Makefile +++ b/libports/Makefile @@ -42,7 +42,7 @@ installhdrs = ports.h HURDLIBS= ihash LDLIBS += -lpthread -OBJS = $(SR

[PATCH hurd 23/30] trans/password: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* trans/Makefile (password-MIGSFLAGS): Add mutator. --- trans/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/trans/Makefile b/trans/Makefile index eecaeeb..04fd276 100644 --- a/trans/Makefile +++ b/trans/Makefile @@ -34,6 +34,7 @@ LDLIBS += -lpthread password-LDLIBS = -lcrypt passw

[PATCH hurd 20/30] term: add a payload-aware intrans function

2014-11-27 Thread Justus Winter
* term/mig-mutate.h: Add mutator. --- term/Makefile | 1 + term/mig-decls.h | 6 ++ term/mig-mutate.h | 3 +++ 3 files changed, 10 insertions(+) diff --git a/term/Makefile b/term/Makefile index 5006c0d..1419d2a 100644 --- a/term/Makefile +++ b/term/Makefile @@ -33,5 +33,6 @@ include ../M

[PATCH hurd 16/30] pfinet: make the demuxers payload-aware

2014-11-27 Thread Justus Winter
* pfinet/ethernet.c (ethernet_demuxer): Make the demuxer payload-aware. * pfinet/main.c (pfinet_demuxer): Likewise. --- pfinet/ethernet.c | 20 +++- pfinet/main.c | 12 ++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/pfinet/ethernet.c b/pfinet/ether

<    6   7   8   9   10   11   12   13   14   15   >