[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