Hello,

Svante Signell, le Mon 04 May 2015 14:14:16 +0200, a écrit :
> Attached is the test code where fakeroot-hurd fails.
> fakeroot-hurd ./test_sockets
> bind: Operation not supported

Mmm, I don't think we want to implement it in netfs_attempt_chmod
as you are trying to do. See the code netfs_S_file_set_translator:
netfs_attempt_chmod() is called only because it's the "Short circuited
translators" case, i.e. when the FS can perhaps store the translator
directly in the mode. You only stored the mode in np->nn_stat.st_mode,
without calling some file_* function to actually make the change on the
underlying FS. That's why you end up with:

>   67<--66(pid9244)->file_set_translator (6 6 0 "/hurd/ifsock"  (null)) =
> 0x4000002d (Operation not supported) 

Since the underlying node is still a normal file. You also can't just
call file_chmod since that won't change the file type.

Thus, do not modify netfs_attempt_chmod, rather implement the
netfs_set_translator stub by just calling file_set_translator on the
underlying node to set the passive translator.

Thanks,
Samuel

Reply via email to