[PATCH hurd] trans/fakeroot.c: fix compiler warnings
Hello, The attached patch fixes the compiler warnings when compiling trans/fakeroot.c. ../../trans/fakeroot.c: In function 'netfs_S_file_exec': ../../trans/fakeroot.c:806:3: warning: implicit declaration of function 'netfs_S_file_exec_file_name' [-Wimplicit-function-declaration] return netfs_S_file_exec_file_name (user, ^ ../../trans/fakeroot.c: In function 'netfs_demuxer': ../../trans/fakeroot.c:1008:7: warning: implicit declaration of function 'netfs_fs_experimental_server_routine' [-Wimplicit-function-declaration] (routine = netfs_fs_experimental_server_routine (inp)) || ^ ../../trans/fakeroot.c:1008:16: warning: assignment makes pointer from integer without a cast (routine = netfs_fs_experimental_server_routine (inp)) || * trans/fakeroot.c (netfs_demuxer): include "libnetfs/fs_experimental_S.h" (netfs_S_file_exec_file_name) : declare by moving it before using in netfs_S_file_exec --- Index: hurd-0.5.git20141108/trans/fakeroot.c === --- hurd-0.5.git20141108.orig/trans/fakeroot.c +++ hurd-0.5.git20141108/trans/fakeroot.c @@ -31,6 +31,7 @@ #ifdef HAVE_FILE_EXEC_FILE_NAME #include #endif +#include "libnetfs/fs_experimental_S.h" #include @@ -788,38 +789,6 @@ netfs_file_get_storage_info (struct ious } kern_return_t -netfs_S_file_exec (struct protid *user, - task_t task, - int flags, - char *argv, - size_t argvlen, - char *envp, - size_t envplen, - mach_port_t *fds, - size_t fdslen, - mach_port_t *portarray, - size_t portarraylen, - int *intarray, - size_t intarraylen, - mach_port_t *deallocnames, - size_t deallocnameslen, - mach_port_t *destroynames, - size_t destroynameslen) -{ - return netfs_S_file_exec_file_name (user, - task, - flags, - "", - argv, argvlen, - envp, envplen, - fds, fdslen, - portarray, portarraylen, - intarray, intarraylen, - deallocnames, deallocnameslen, - destroynames, destroynameslen); -} - -kern_return_t netfs_S_file_exec_file_name (struct protid *user, task_t task, int flags, @@ -895,6 +864,38 @@ netfs_S_file_exec_file_name (struct prot return err; } +kern_return_t +netfs_S_file_exec (struct protid *user, + task_t task, + int flags, + char *argv, + size_t argvlen, + char *envp, + size_t envplen, + mach_port_t *fds, + size_t fdslen, + mach_port_t *portarray, + size_t portarraylen, + int *intarray, + size_t intarraylen, + mach_port_t *deallocnames, + size_t deallocnameslen, + mach_port_t *destroynames, + size_t destroynameslen) +{ + return netfs_S_file_exec_file_name (user, + task, + flags, + "", + argv, argvlen, + envp, envplen, + fds, fdslen, + portarray, portarraylen, + intarray, intarraylen, + deallocnames, deallocnameslen, + destroynames, destroynameslen); +} + error_t netfs_S_io_map (struct protid *user, mach_port_t *rdobj, mach_msg_type_name_t *rdobjtype,
Re: FOSDEM talk?
Nice idea. I will be able to join you this year. Looking forward. Manolis
Re: Neat trick to rescue Hurd systems
On Wed, 2014-12-10 at 15:02 +0100, Justus Winter wrote: > Hello, > > I came up with a neat trick to rescue hanging Hurd systems. Or > rather, the filesystems. When we kill an essential task from the > kernel debugger, /hurd/startup will reboot the system: > > > Stopped at machine_idle+0xe: leave > db> call task_terminate($task4) > 0 > db> c > /hurd/startup: Crashing system; essential task proc died > startup: notifying ext2fs device:hd0s1 of reboot...done > startup: rebooting Mach (flags 0)... Hi, I tried your trick but got: no more room for vm_map_enter in f5cbbf80 Stopped at eip 0x80109422: ret call task_terminate($task4) Kernel page fault trap, eip 0x801474de Caught page fault (14), code = 0, pc = 801474de I saw somewhere that you wrote how to list all processes but cannot find it right now.
Re: Neat trick to rescue Hurd systems
On Thu, 2014-12-11 at 22:25 +0100, Svante Signell wrote: > On Wed, 2014-12-10 at 15:02 +0100, Justus Winter wrote: > > Hello, > > > > I came up with a neat trick to rescue hanging Hurd systems. Or > > rather, the filesystems. When we kill an essential task from the > > kernel debugger, /hurd/startup will reboot the system: > > > > > > Stopped at machine_idle+0xe: leave > > db> call task_terminate($task4) > > 0 > > db> c > > /hurd/startup: Crashing system; essential task proc died > > startup: notifying ext2fs device:hd0s1 of reboot...done > > startup: rebooting Mach (flags 0)... > > Hi, I tried your trick but got: > no more room for vm_map_enter in f5cbbf80 > Stopped at eip 0x80109422: ret > call task_terminate($task4) > Kernel page fault trap, eip 0x801474de > Caught page fault (14), code = 0, pc = 801474de > > I saw somewhere that you wrote how to list all processes but cannot find > it right now. Found out myself: show all threads tried to task_terminate some tasks, but the reply was the same as above :(
Re: [PATCH hurd 27/30] hurd: add intranpayload functions to all hurd types
Justus Winter, le Thu 27 Nov 2014 14:19:07 +0100, a écrit : > +#ifdef HURD_DEFAULT_PAYLOAD_TO_PORT > +#if HURD_DEFAULT_PAYLOAD_TO_PORT > +/* Any non-numeric value will fail this test. If 1 (or any number) is > + given, do not inject the default translator function. */ > +#undef HURD_DEFAULT_PAYLOAD_TO_PORT > +#endif > +#else > + import ; > +#define HURD_DEFAULT_PAYLOAD_TO_PORT ports_payload_get_name > +#endif We're now getting it from libc: /usr/src/glibc-2.19/build-tree/hurd-i386-libc/hurd/libhurduser_pic.a(msg_server.os): In function `_Xmsg_describe_ports': /usr/src/glibc-2.19/build-tree/hurd-i386-libc/hurd/./hurd/msg_server.c:2071: undefined reference to `ports_payload_get_name' Perhaps we should revert the logic: not define any HURD_DEFAULT_PAYLOAD_TO_PORT by default, and have servers which want to enable the payload optimization to define it? Samuel
Re: [PATCH hurd] trans/fakeroot.c: fix compiler warnings
Svante Signell, le Thu 11 Dec 2014 12:03:25 +0100, a écrit : > The attached patch fixes the compiler warnings when compiling > trans/fakeroot.c. Applied, thanks! Samuel
Re: [PATCH glibc] Hurd: Fix definition of `PAGE_COPY_THRESHOLD'
Justus Winter, le Wed 10 Dec 2014 12:59:43 +0100, a écrit : > I believe pflocal is just fine. Looks like runsystem.sysv or sysvinit > crashes (I wish /hurd/crash would tell us about crashes): You can set gnumach's debug_all_traps_with_kdb variable to 1 to catch crashes. Samuel