Project

General

Profile

Actions

Bug #3967

closed

libceph: complete linger requests only once

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:
Crash signature (v1):
Crash signature (v2):

Description

Currently if a linger request gets resubmitted by the osd
client, its callback function (if provided) will get called
again as well. Of no callback is supplied, the completion
of the request is signaled.

Instead, the osd client should only call an osd request
callback or signal its completion function once.

Actions #1

Updated by Alex Elder about 11 years ago

  • Subject changed from librbd: complete linger requests only once to libceph: complete linger requests only once
Actions #2

Updated by Alex Elder about 11 years ago

  • Status changed from New to In Progress

I have a fix and I have verified that linger requests do
in fact get completed more than once. (I already knew
this but wanted to make sure the fix worked.)

I'm about to post the patch for review.

Actions #3

Updated by Alex Elder about 11 years ago

  • Status changed from In Progress to Fix Under Review

A fix for this has been posted for review.

Subject: [PATCH] libceph: complete lingering requests only once

An osd request marked to linger will be re-submitted in the event
a connection to the target osd gets dropped. Currently, if there
is a callback function associated with a request it will be called
each time a request is submitted--which for lingering requests can
be more than once.

Change it so a request--including lingering ones--will get completed
(from the perspective of the user of the osd client) exactly once.

This resolves:
http://tracker.ceph.com/issues/3967

Signed-off-by: Alex Elder <>

Actions #4

Updated by Alex Elder about 11 years ago

  • Status changed from Fix Under Review to Resolved

This has been committed to the ceph-client testing branch.

4ada29f libceph: complete lingering requests only once

Actions

Also available in: Atom PDF