[linux-cifs-client] Re: problems with cifs

Steve French smfltc at us.ibm.com
Sat Dec 11 20:38:32 GMT 2004


On Thu, 2004-12-09 at 14:08, Gorazd Golob wrote:
> just short question..
> 

> Dec  9 21:05:02 delovc10 kernel:  fs/cifs/cifsfs.c: In read_wrapper size
> 4096 at 188448768
> 
> Does line "In read_wrapper size 4096 at 188448768" mean that cifs is doing
> only 4096 allocations and not 16000 as it should because of forcedirectio
> option?
> 

This means that the application requested a 4K read at the offset
specified (far into a big file).  With direct there is not much cifs can
or shoudl do to make a read bigger than what the app requested - in this
case forcedirectio could make things worse (for performance) than the
default using the client page cache (in which case cifs_readpages will
usually end up sending 16K reads (4 pages), instead of 4K at least if
your app is consistently doing such small reads).

Also note on the stall if you can get a quick stack trace.  I forget the
exact syntax - I usually experiment until I remember it :)

Syntax for dumping kernel stack traces for active processes to the debug
log is something like "echo t > /proc/sysreq" or some such (if you
kernel is built with sysr support).  This only makes sense if you:
1) have a reasonably small number of processes running (blocked in
kernel)
or
2) have the size of the dmesg buffer set as high as possible (17 or 18)
in the kernel config
and
3) You can catch the stack trace while the system is still hanging in
that chdir process 

Also note the code on svn and bk is slightly updated (as of yesterday
afternoon).



More information about the linux-cifs-client mailing list