Project

General

Profile

Actions

Bug #38376

closed

client:Repeated release of put_request() in make_request()

Added by huanwen ren about 5 years ago. Updated about 5 years ago.

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

0%

Source:
Community (user)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

code repetition:

Client::make_request() {
...
if (!request->reply) {
ceph_assert(request->aborted());
ceph_assert(!request->got_unsafe);
r = request->get_abort_code();
request->item.remove_myself();
unregister_request(request);
put_request(request);
return r;
}
...
}

void Client::unregister_request(MetaRequest *req) {
mds_requests.erase(req->tid);
if (req->tid == oldest_tid) {
map<ceph_tid_t, MetaRequest*>::iterator p = mds_requests.upper_bound(oldest_tid);
while (true) {
if (p == mds_requests.end()) {
oldest_tid = 0;
break;
}
if (p->second->get_op() != CEPH_MDS_OP_SETFILELOCK) {
oldest_tid = p->first;
break;
}
++p;
}
}
put_request(req);
}

Actions #1

Updated by Kefu Chai about 5 years ago

  • Pull request ID set to 26460
Actions #2

Updated by Patrick Donnelly about 5 years ago

  • Status changed from New to Rejected

Turns out this isn't a bug. Thanks for making the issue anyway.

Actions

Also available in: Atom PDF