On Wed, 2015-05-13 at 10:04 +0200, Samuel Thibault wrote: > Samuel Thibault, le Wed 13 May 2015 09:57:27 +0200, a écrit : > > > + return file_set_translator (netfs_node_netnode (np)->file, > > > + FS_TRANS_EXCL|FS_TRANS_SET, > > > + FS_TRANS_EXCL|FS_TRANS_SET, 0, > > > + argz, argzlen, > > > + MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND); > > > > Mmm, I don't think you want to set the active_flags parameter, see the > > comment above: > > And you have set the active parameter to MACH_PORT_NULL, so active_flags > should really be set to 0, it doesn't really make sense otherwise.
This is copeied verbatim from fakeroot.c:netfs_attempt_mksymlink() and netfs_attempt_mkdev() so the active_flags parameter should be zero there too? New patch attached!
Index: hurd-0.6/trans/fakeroot.c =================================================================== --- hurd-0.6.orig/trans/fakeroot.c +++ hurd-0.6/trans/fakeroot.c @@ -450,6 +450,20 @@ netfs_S_dir_lookup (struct protid *dirus return err; } +/* The user may define this function. Attempt to set the passive + translator record for FILE to ARGZ (of length ARGZLEN) for user + CRED. */ +error_t +netfs_set_translator (struct iouser *cred, struct node *np, + char *argz, size_t argzlen) +{ + return file_set_translator (netfs_node_netnode (np)->file, + FS_TRANS_EXCL|FS_TRANS_SET, + 0, 0, + argz, argzlen, + MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND); +} + /* These callbacks are used only by the standard netfs_S_dir_lookup, which we do not use. But the shared library requires us to define them. */ error_t