Project

General

Profile

Actions

Bug #3798

closed

libceph/rbd: take reference to all bio's in list

Added by Alex Elder over 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:
Crash signature (v1):
Crash signature (v2):

Description

In a separate bug ("libceph/rbd: bio refs are messed up") I
describe how reference counting of bio's interact between the
rbd and libceph kernel modules. Two problems are highlighted
there. I'm separating one of them out here so they can be
tracked independently.

This issue is to ensure all bio's in the bio list rather than
just the first one gets an additional reference to represent
libceph holding a pointer to the bio.

In principle, a request with bio's could be a linger request,
meaning libceph could hang onto it and use it to re-issue
the original request in case of a connection failure. This
would make the first issue very serious. In practice, linger
requests aren't used for I/O so it's not very critical.

Actions #1

Updated by Alex Elder over 11 years ago

The other bug related to this is:
http://tracker.newdream.net/issues/3799

Actions #2

Updated by Alex Elder about 11 years ago

  • Status changed from New to In Progress

It looks like the extra reference that the osd client requires
of the first bio on the list isn't necessary. Nor would a
reference to all bio's on the list be necessary. The rbd code
(which is the only one that would supply a bio) already holds
a reference to every bio in the list, and it will not drop
those references until it is done with them--which will after
the osd client is done with them.

In http://tracker.ceph.com/issues/3799, the extra reference
is getting removed. And the above explanation suggests there
is no need add the references to the rest of the bio's, so
I think this can be closed.

I'll wait to test the result before closing this, however.

Actions #3

Updated by Alex Elder about 11 years ago

  • Status changed from In Progress to Resolved

commit dfcc01f9f093ea960289e40ca2e73334c708c0f2
Author: Alex Elder <>
Date: Wed Jan 30 11:13:33 2013 -0600

rbd: don't take extra bio reference for osd client
Actions

Also available in: Atom PDF