[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
'ls -l' doesn't work after the libnetfs translator returns a customized
From: |
Da Zheng |
Subject: |
'ls -l' doesn't work after the libnetfs translator returns a customized port |
Date: |
Sun, 09 Nov 2008 00:32:45 +0000 |
User-agent: |
Thunderbird 2.0.0.17 (Macintosh/20080914) |
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
- 'ls -l' doesn't work after the libnetfs translator returns a customized port,
Da Zheng <=