Project

General

Profile

Actions

Bug #4450

closed

libceph: many socket "socket closed" issues on socket error

Added by Alex Elder about 11 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

When running xfstests over rbd with error injection:

    conf:
        global:
            ms inject socket failures: 5000

I am now seeing many consecutive messages like this after
an injected socket failure. I suspect there is something
in my recent series of commits that is causing something to
get out of sync following a connection reset, but I haven't
figured out what. For reference, below is stuff I've
committed in the last week or so that puts a bound on where
I think the problem lies. It's probably more recent than this
but this at least defines something.

f6a8ba1 libceph: more cleanup of write_partial_msg_pages()
9856a63 libceph: kill message trail
7e24d23 libceph: kill osd request r_trail
b4ae545 libceph: have osd requests support pagelist data
58516b5 libceph: let osd ops determine request data length
6e8cc21 libceph: implement pages array cursor
fc9026f libceph: implement bio message data item cursor
7e14d6d libceph: use data cursor for message pagelist
1eb7d1c libceph: prepare for other message data item types
cc07389 libceph: start defining message data cursor
6e98d40 libceph: abstract message data
8cc0f56 libceph: be explicit about message data representation
23f4e9a libceph: define ceph_msg_has_*() data macros
3f76347 libceph: define and use ceph_crc32c_page()
fb2177d libceph: define and use ceph_tcp_recvpage()
473a03c libceph: encapsulate reading message data
86dc530 libceph: small write_partial_msg_pages() refactor
7c1775e libceph: consolidate message prep code
5478489 libceph: use local variables for message positions
b0e22c9 libceph: don't clear bio_iter in prepare_write_message()
00a1dc2 libceph: activate message data assignment checks
c61ffd1 libceph: set response data fields earlier
1ec4a63 libceph: record message data byte length
d66d17f ceph: only set message data pointers if non-empty
9c5f95a libceph: isolate other message data fields
e7817c8 libceph: set page info with byte length
634a072 libceph: isolate message page field manipulation
c9582368 libceph: record byte count not page count
f1e83e8 libceph: simplify new message initialization
714b861 libceph: advance pagelist with list_rotate_left()
7ac3ec3 libceph: define and use in_msg_pos_next()
3bfaa45 libceph: kill args in read_partial_message_bio()
c4e8b22 libceph: change type of ceph_tcp_sendpage() "more"
479066e libceph: minor byte order problems in read_partial_message()
1e82218 libceph: define CEPH_MSG_MAX_MIDDLE_LEN

Actions

Also available in: Atom PDF