[linux-cifs-client] Numerous "CIFS VFS: Send error" messages in
2.6.25.3
Shirish Pargaonkar
shirishpargaonkar at gmail.com
Tue May 13 14:28:09 GMT 2008
On 5/13/08, Gautam Iyer <gi1242+samba at stanford.edu> wrote:
> On Mon, May 12, 2008 at 10:29:12PM -0500, Shirish Pargaonkar wrote:
>
> >> I was using "mount -t smbfs" on Linux-2.6.23 for a long time with no
> >> problems. When I recently upgraded to CIFS + Linux-2.6.25, I ran into a
> >> few issues.
> >>
> >> My Samba server is a Vantec networked hard disk. I mount it via
> >>
> >> mount -t cifs //andurin/PUBLIC /tmp/andurin -o nounix,guest
> >>
> >> Now I can copy / move files just fine. But when I try and do something
> >> fancy, I get numerous errors. Usually at this point my log file is
> >> clutter with numerous CIFS VFS error messages. A few of the log lines
> >> are:
> >>
> >> May 12 18:56:04 mordor CIFS VFS: Write2 ret -28, wrote 0
> >> May 12 18:56:04 mordor CIFS VFS: No response to cmd 47 mid 67
> >> May 12 18:56:04 mordor CIFS VFS: Write2 ret -11, wrote 0
> >> May 12 18:56:04 mordor CIFS VFS: Write2 ret -11, wrote -511544036
> >> May 12 18:56:04 mordor CIFS VFS: Write2 ret -28, wrote 0
> >> May 12 18:56:04 mordor CIFS VFS: Write2 ret -11, wrote -511544036
> >> May 12 18:56:04 mordor CIFS VFS: Write2 ret -28, wrote 0
> >> May 12 18:56:04 mordor CIFS VFS: No response to cmd 47 mid 78
> >>
> > I am trying to work on this problem. Try increasing the send
> > (sk_sndbuf) and receive (sk_rcvbuf) buffer sizes of socket from 200K
> > and 140K respectively to 512K or 1M in fs/cifs/connect.c in function
> > ipv4_connect.
>
> Thanks for the quick response. I did this, and seem to get the same
> messages in my syslog, and the same error message from fancy operations
> (e.g. mke2fs). (I'm also assuming that modprobe -rv cifs, and then
> modprobe -iv cifs was enough for this change to take effect).
>
> > What is the output of command
> > sysctl -a | grep tcp | grep mem
>
> It was
>
> net.ipv4.tcp_mem = 96672 128896 193344
> net.ipv4.tcp_wmem = 4096 16384 4124672
> net.ipv4.tcp_rmem = 4096 87380 4124672
>
> Plus a few error messages about ipv6.
>
> Let me know if there's anything else you want me to test, or if there is
> anything else I can do to help fix this,
>
> Thanks
>
> GI
>
> --
> 'Common' Proof Techniques:
> 5. Proof by Omission -- "The reader may easily supply the details"
>
> _______________________________________________
> linux-cifs-client mailing list
> linux-cifs-client at lists.samba.org
> https://lists.samba.org/mailman/listinfo/linux-cifs-client
>
>
>
Gautam,
You can try taking out the setting the send and receive socket buffer
sizes altogether.
Let tcp auto-tuning take care of the socket buffer sizes.
What I found out is with a stress testssuites like fsstress, send
buffer does not
tune (increase in size) but with your test load, may be it will work.
Error -11 is EAGAIN and -28 is ENOSPC, so I am suspecting it has to do with
socket buffers.
So a patch like this might work.
Regards,
Shirish
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 791ca5c..c9a2090 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1550,11 +1550,6 @@ ipv4_connect(struct sockaddr_in *psin_se
(*csocket)->sk->sk_sndbuf,
(*csocket)->sk->sk_rcvbuf, (*csocket)->sk->sk_rcvtimeo));
(*csocket)->sk->sk_rcvtimeo = 7 * HZ;
- /* make the bufsizes depend on wsize/rsize and max requests */
- if ((*csocket)->sk->sk_sndbuf < (200 * 1024))
- (*csocket)->sk->sk_sndbuf = 200 * 1024;
- if ((*csocket)->sk->sk_rcvbuf < (140 * 1024))
- (*csocket)->sk->sk_rcvbuf = 140 * 1024;
/* send RFC1001 sessinit */
if (psin_server->sin_port == htons(RFC1001_PORT)) {
More information about the linux-cifs-client
mailing list