[NBLUG/talk] Warning in logs..

cecrops at herring.sandwich.net cecrops at herring.sandwich.net
Wed Feb 23 22:13:07 PST 2011


On Tue, 22 Feb 2011, Steve Johnson wrote:
> Hey guys, I keep seeing this error in my logs, I understand what might be
> causing it, but what I am wondering, since it is a warning, and not an
> error, and there is only 1.. Does this mean the system re-tried and got past
> it?  This happens during a large file copy that happens nightly.. Do I need
> to worry about data integrity?
>
> --------------------- Kernel Begin ------------------------
>
> WARNING:  Kernel Errors Present
>    CIFS VFS: Error -4 sending data ...:  1 Time(s)
>
> ---------------------- Kernel End -------------------------


I looked around the CIFS code and see no sign that it retries in this 
case, so I would worry. Is it possible to rsync the data?


This posting says that problem can be caused by old versions of CIFS
running in non-blocking mode, and suggests a kernel update as a 
resolution:
http://lists.samba.org/archive/linux-cifs-client/2009-April/004482.html


Notes that you may or may not find useful:

The error message comes from smb_send() in transport.c of cifs. Other 
parts of transport.c check the returns from kernel_sendmsg for the 
negatives of errno.h errors, so the -4 could be EINTR 4, interrupted 
system call.

What happens when RC receives a negative number in SendReceive() in
transport.c:

rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length,
      (struct sockaddr *) &(ses->server->addr.sockAddr));

if(rc < 0) {
 	DeleteMidQEntry(midQ);
 	up(&ses->server->tcpSem);

 	/* If not lock req, update # of requests on wire to server */
 	if(long_op < 3) {
 		atomic_dec(&ses->server->inFlight);
 		wake_up(&ses->server->request_q);
 	}
 	return rc;
}

It looks like it just cuts out, but I can't tell what the other gears will 
be doing. It might be up to the userspace program to detect failure and 
retry.

In the kernel, it looks like something is going wrong around
wait_on_sync_kiocb() but I could be mistaken.



More information about the talk mailing list