Mailinglist Archive: opensuse-bugs (13048 mails)

< Previous Next >
[Bug 466381] New: CIFS client requests write with old FID after connection reset
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Thu, 15 Jan 2009 05:47:43 -0700 (MST)
  • Message-id: <bug-466381-21960@xxxxxxxxxxxxxxxxxxxxxxxxx/>
https://bugzilla.novell.com/show_bug.cgi?id=466381


Summary: CIFS client requests write with old FID after
connection reset
Classification: openSUSE
Product: openSUSE 11.0
Version: Final
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Samba
AssignedTo: samba-maintainers@xxxxxxx
ReportedBy: agraf@xxxxxxxxxx
QAContact: samba-maintainers@xxxxxxx
Found By: ---


I am running a cifs client on 2.6.25, connecting to an openSUSE 11.0 samba
server. The client runs in a VM on the same machine using KVM.

During massive data transfer, I experienced network hangs in KVM's virtio
networking, that apparently triggered a bug in the cifs client of the guest:

96549 17.142084 172.16.2.2 -> 172.16.2.1 SMB Write AndX Request, FID:
0x1590, 57344 bytes at offset 2178293760
[ after that a new split capture file starts, that's why the times and ids look
off ]
[...]
10371 6.460212 172.16.2.1 -> 172.16.2.2 SMB Write AndX Response, 57344
bytes
[...]
10418 6.464444 172.16.2.1 -> 172.16.2.2 SMB Write AndX Response, 57344
bytes
[...]
10488 10.883599 172.16.2.1 -> 172.16.2.2 TCP [TCP ACKed lost segment]
microsoft-ds > 59590 [ACK] Seq=1600385 Ack=9012623 Win=8062 Len=0 TSV=452206937
TSER=4294955533
10489 27.499716 172.16.2.2 -> 172.16.2.1 TCP [TCP Previous segment lost]
59590 > microsoft-ds [FIN, ACK] Seq=9028083 Ack=1600385 Win=5911 Len=0
TSV=4294957195 TSER=452206947

So between packet 10488 and 10489 the connection was lost for 17 seconds. After
that the cifs client correctly tried to reestablish the connection.

10490 27.499765 172.16.2.2 -> 172.16.2.1 TCP 59591 > microsoft-ds [SYN]
Seq=0 Win=5840 Len=0 MSS=1460 TSV=4294957195 TSER=0 WS=7
10491 27.499799 172.16.2.1 -> 172.16.2.2 TCP microsoft-ds > 59591 [SYN,
ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=452211091 TSER=4294957195 WS=7
10492 27.500246 172.16.2.2 -> 172.16.2.1 TCP 59591 > microsoft-ds [ACK]
Seq=1 Ack=1 Win=5888 Len=0 TSV=4294957195 TSER=452211091
10493 27.500283 172.16.2.2 -> 172.16.2.1 SMB Negotiate Protocol Request
10494 27.500300 172.16.2.1 -> 172.16.2.2 TCP microsoft-ds > 59591 [ACK]
Seq=1 Ack=83 Win=5888 Len=0 TSV=452211091 TSER=4294957195
10495 27.513985 172.16.2.1 -> 172.16.2.2 SMB Negotiate Protocol Response
10496 27.514504 172.16.2.2 -> 172.16.2.1 TCP 59591 > microsoft-ds [ACK]
Seq=83 Ack=102 Win=5888 Len=0 TSV=4294957196 TSER=452211095
10497 27.514551 172.16.2.2 -> 172.16.2.1 SMB Session Setup AndX Request,
User: \contain2
10498 27.517014 172.16.2.1 -> 172.16.2.2 SMB Session Setup AndX Response

But just after that tries to send a write request with the old FID:

10559 27.520280 172.16.2.2 -> 172.16.2.1 SMB Write AndX Request, FID:
0x1590, 57344 bytes at offset 2181328896
10566 27.520482 172.16.2.1 -> 172.16.2.2 SMB Write AndX Response, Error:
STATUS_INVALID_HANDLE

Unfortunately that old FID is unknown to the new connection, because the file
hasn't been opened again. This is expressed in the log of the client:

CIFS VFS: server not responding
CIFS VFS: No response for cmd 50 mid 52571
CIFS VFS: No response to cmd 47 mid 52572
CIFS VFS: Write2 ret -11, wrote 0
CIFS VFS: No response to cmd 47 mid 52570
CIFS VFS: Write2 ret -11, wrote 0
CIFS VFS: Write2 ret -9, wrote 0
CIFS VFS: Write2 ret -9, wrote 0


I would've expected the client to reopen all files again.

--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >