[PATCH 2/8] trans/mtab: remove the loop detection logic

2014-01-12 Thread Justus Winter
Previously the mtab detector tried to detect whether it talks to itself by comparing the control port of the translator it currently visits with its own. This was done to prevent deadlocks. However, this did not detect non-trivial loops, i.e. two mtab translators would still dead-lock each other.

[PATCH 1/8] trans/mtab: populate mtab objects on demand

2014-01-12 Thread Justus Winter
Previously the mtab content was generated in the open hook. Delay this until the data is needed. A follow up patch will take advantage of this to both simplify the logic in mtab_populate and make it more robust at the same time. * trans/mtab.c (open_hook): Do not eagerly populate the mtab.

[PATCH 4/8] trans/mtab: make the translator multithreaded

2014-01-12 Thread Justus Winter
* trans/mtab.c (main): Use ports_manage_port_operations_multithread. --- trans/mtab.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/trans/mtab.c b/trans/mtab.c index 5a5a07d..adfb345 100644 --- a/trans/mtab.c +++ b/trans/mtab.c @@ -235,9 +235,13 @@ main (int argc,

[PATCH 3/8] trans/mtab: properly lock mtab objects

2014-01-12 Thread Justus Winter
* trans/mtab.c (struct mtab): Add lock. (open_hook): Initialize lock. (close_hook): Destroy lock. (trivfs_S_io_read): Lock mtab object, adjust error handling accordingly. (trivfs_S_io_seek): Likewise. (trivfs_S_io_readable): Likewise. --- trans/mtab.c | 44

[PATCH 5/8] trans/mtab: do not include non-filesystem translators by default

2014-01-12 Thread Justus Winter
Traditionally, /proc/mounts includes only filesystem mount points. Previously though, the mtab translator included any kind of translator, like all /hurd/storeio translators. This causes problems with umount --all as this would remove the passive translator records from nodes in /dev. Fix this

[PATCH 7/8] libdiskfs: register passive translator startups

2014-01-12 Thread Justus Winter
Detect passive translator startup and add the resulting active translator to the list of active translators. Note that newpi is properly deallocated in the function epilogue. * libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Detect and register passive translator startup. ---

[PATCH 8/8] libnetfs: register passive translator startups

2014-01-12 Thread Justus Winter
Detect passive translator startup and add the resulting active translator to the list of active translators. * libnetfs/dir-lookup.c (netfs_S_dir_lookup): Detect and register passive translator startup. --- libnetfs/dir-lookup.c | 43 +-- 1 file changed,

[PATCH 6/8] libfshelp: fix the api of fshelp_set_active_translator

2014-01-12 Thread Justus Winter
To detect if an active translator goes away, we need to register for dead name notifications. Those notifications have to be sent to a port known to the ports library, as the ports library handles the dead name notifications. The most straight forward way is to use the port to the underlying node

Re: [PATCH 3/8] trans/mtab: properly lock mtab objects

2014-01-12 Thread Samuel Thibault
Ack Justus Winter, le Sun 12 Jan 2014 20:08:40 +0100, a écrit : * trans/mtab.c (struct mtab): Add lock. (open_hook): Initialize lock. (close_hook): Destroy lock. (trivfs_S_io_read): Lock mtab object, adjust error handling accordingly. (trivfs_S_io_seek): Likewise. (trivfs_S_io_readable):

Re: [PATCH 2/8] trans/mtab: remove the loop detection logic

2014-01-12 Thread Samuel Thibault
Justus Winter, le Sun 12 Jan 2014 20:08:39 +0100, a écrit : Previously the mtab detector tried to detect whether it talks to itself by comparing the control port of the translator it currently visits with its own. This was done to prevent deadlocks. However, this did not detect non-trivial

Re: [PATCH 4/8] trans/mtab: make the translator multithreaded

2014-01-12 Thread Samuel Thibault
Ack Justus Winter, le Sun 12 Jan 2014 20:08:41 +0100, a écrit : * trans/mtab.c (main): Use ports_manage_port_operations_multithread. --- trans/mtab.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/trans/mtab.c b/trans/mtab.c index 5a5a07d..adfb345 100644

Re: [PATCH 1/8] trans/mtab: populate mtab objects on demand

2014-01-12 Thread Samuel Thibault
Justus Winter, le Sun 12 Jan 2014 20:08:38 +0100, a écrit : Previously the mtab content was generated in the open hook. Delay this until the data is needed. A follow up patch will take advantage of this to both simplify the logic in mtab_populate and make it more robust at the same time. Ack.

Re: [PATCH 5/8] trans/mtab: do not include non-filesystem translators by default

2014-01-12 Thread Samuel Thibault
Justus Winter, le Sun 12 Jan 2014 20:08:42 +0100, a écrit : Traditionally, /proc/mounts includes only filesystem mount points. Previously though, the mtab translator included any kind of translator, like all /hurd/storeio translators. This causes problems with umount --all as this would

Re: [PATCH 6/8] libfshelp: fix the api of fshelp_set_active_translator

2014-01-12 Thread Samuel Thibault
Justus Winter, le Sun 12 Jan 2014 20:08:43 +0100, a écrit : To detect if an active translator goes away, we need to register for dead name notifications. Those notifications have to be sent to a port known to the ports library, as the ports library handles the dead name notifications. The most

Re: [PATCH 7/8] libdiskfs: register passive translator startups

2014-01-12 Thread Samuel Thibault
Justus Winter, le Sun 12 Jan 2014 20:08:44 +0100, a écrit : Detect passive translator startup and add the resulting active translator to the list of active translators. Note that newpi is properly deallocated in the function epilogue. Ack. * libdiskfs/dir-lookup.c (diskfs_S_dir_lookup):

Re: [PATCH 8/8] libnetfs: register passive translator startups

2014-01-12 Thread Samuel Thibault
Justus Winter, le Sun 12 Jan 2014 20:08:45 +0100, a écrit : Detect passive translator startup and add the resulting active translator to the list of active translators. Ack. * libnetfs/dir-lookup.c (netfs_S_dir_lookup): Detect and register passive translator startup. ---

Re: [PATCH] Replaced bz2 decompression code with libbz2

2014-01-12 Thread Samuel Thibault
Hello, Ignazio Sgalmuzzo, le Sat 04 Jan 2014 22:59:25 +, a écrit : configure.ac: added check for libbz2 libstore/Makefile: linked libbz2 ext2fs/Makefile: linked libbz2 do-bunzip2.c: rewritten do_bunzip2 using libbz2 calls. Removed no longer needed functions. Cool :) I guess you have

[PATCH v13] kern: simple futex for gnumach

2014-01-12 Thread Marin Ramesa
Assertions were added instead of silently returning from functions on errors and private futexes were simplified. This is one of the last versions. I won't be changing the base code, except for fixing bugs if they are found, as this actually works as expected. I'm little bit unsure about the

Re: [PATCH] Replaced bz2 decompression code with libbz2

2014-01-12 Thread Ignazio Sgalmuzzo
Hello Mr. Thibault, thanks for the reply. I guess you have tested this on a bz2-backed filesystem? I tested with various size .bz2 files (to be clear: settrans -ca test /hurd/storeio -T typed bunzip2:file:test.bz2). Do I need to do another kind of tests? I'll be happy to check other things