smb_iod_recvall: drop resp with mid errors

Darren Spruell phatbuckett at gmail.com
Tue Mar 18 16:58:33 PDT 2008


I have a CIFS share mounted from a Windows 2003 server on FreeBSD
6.2/i386 host (FreeBSD 6.2-RELEASE-p9 FreeBSD 6.2-RELEASE-p9 #0: Thu
Nov 29 04:22:49 UTC 2007
root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/SMP  i386).
Earlier today we ran into a case where we were intermittently unable
to write to files on the mounted filesystem. The following errors were
encountered when this occurred:

smb_iod_recvall: drop resp with mid 5412
smb_iod_recvall: drop resp with mid 5417
smb_iod_recvall: drop resp with mid 5422
smb_iod_recvall: drop resp with mid 5531
smb_iod_recvall: drop resp with mid 5591
smb_iod_recvall: drop resp with mid 5662
smb_iod_recvall: drop resp with mid 7278
smb_iod_recvall: drop resp with mid 7285
smb_iod_recvall: drop resp with mid 7297
smb_iod_recvall: drop resp with mid 12
smb_iod_recvall: drop resp with mid 15
smb_iod_recvall: drop resp with mid 18

$ mount
//WINCH at CAFFEINEADDICTS/MALWARE_BEWARE on /caffeineaddicts-malware (smbfs)
# /etc/fstab:
//winch at caffeineaddicts/Malware_Beware  /caffeineaddicts-malware
 smbfs   rw,-N,late      0       0

While this host was experiencing these issues a different FreeBSD host
also encountered issues with a different share on the same Windows
server. I think this points to issues of some sort on the Windows
filesystem, but I'd like to understand the smb_iod_recvall output. I
think this is the relevant code, with a check on line 361 resulting in
the error. Is there enough information to suggest what might be wrong
on the remote system to cause this?

/*
288  * Process incoming packets
289  */
290 static int
291 smb_iod_recvall(struct smbiod *iod)
292 {
293         struct smb_vc *vcp = iod->iod_vc;
294         struct thread *td = iod->iod_td;
295         struct smb_rq *rqp;
296         struct mbuf *m;
297         u_char *hp;
298         u_short mid;
299         int error;
300
...
360                 SMB_IOD_RQUNLOCK(iod);
361                 if (rqp == NULL) {
362                         SMBERROR("drop resp with mid %d\n", (u_int)mid);
363 /*                      smb_printrqlist(vcp);*/
364                         m_freem(m);
365                 }

-- 
Darren Spruell
phatbuckett at gmail.com


More information about the freebsd-questions mailing list