Hello,
I'm using libnetfs to create a directory of files, and these files
return customized port when file_name_lookup() is called on it, so I
override netfs_make_protid(), which creates the port I want.
Everything works fine except that 'ls -l' cannot work any more.
'ls -l' needs to call readdir() and stat().
As my understanding, stat() should get the port to the file by calling
file_name_lookup() and call io_stat RPC to get the information of the file.
It can explain why 'ls -l' doesn't work.
But what confuses me is:
my translator creates another thread where netfs_io_server() is called
to handle the request from the customized port,
however, I didn't see any request goes to netfs_io_server() and
netfs_S_io_stat() isn't still called.
I tried to read the implementation of stat() in glibc, but I couldn't
find the version for Hurd and didn't see any place where io_stat() is
called:-(
Any ideas?
Thank you in advance.
Zheng Da