hi david,
* for clarification on the "fhgfs-ctl --clientstats" output: it shows IP
addresses of hosts that are talking to the fhgfs servers.
for "--clientstats --nodetype=meta", this can be fhgfs clients or other
metadata servers (because the metadata servers are also talking to each
other, e.g. when a new directory is created).
for "--clientstats --nodetype=storage", this can again be fhgfs clients
or metadata servers, but no other storage servers (because the storage
servers are not talking to each other).
so it's normal that you won't see your samba client IP or the IP of a
storage server in this output.
* regarding your directory with 32452 files/subdirs: from the
clientstats output is seems like samba is doing more than one stat()
operation per file/subdir, because we see 200-300 stat() ops per second
and thus the listing should be complete after roughly two minutes.
so the only conclusion i can see now is that we have more than one stat
operation per file/subdir, which might have a good reason, but
intuitively seems rather unnecessary, of course.
(one reason could be that the mac is also looking into subdirs to
generate thumbnails or so)
i'm not a mac user, so i have no idea how things work there (and if
there is something like strace or so), and thus i will say what i would
do on linux now (which is similar to the approach of how we got the
other samba patch):
1) switch to a smaller directory for testing. there's probably no reason
to always wait 17 minutes for the results ;-)
2) strace the application on the samba client. on linux, that would be
something like
$ strace ls -l 2>/tmp/strace.out
3) strace the samba server for the same workload
4) if you see that the server is doing more I/O operations than the
application on the client (e.g. one stat() from the client application
results in two or more stat() operations on the server), then you could
report to the samba mailing list that you see operations that seem
unnecessary and ask if they see a way to avoid them. (or to make it
easier for them, you could also try to identify the corresponding line
in the samba code first and then include that in the report.)
if, on the other hand, you see from the application (in my example the
"ls -l" above) strace that the application already does multiple stat()
operations per file/subdir, then this is obviously not a samba problem
and you might want to consider talking to the application people - which
might not be that easy in your case, but at least for "ls -l" we
actually did that a while ago and it also resulted in ls avoiding some
unnecessary calls in more recent versions of the coreutils package.
best regards,
sven