Project

General

Profile

Actions

Feature #9779

closed

libceph: sync up with objecter

Added by Ilya Dryomov over 9 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
libceph
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:

Description

- the way we resend lingering requests isn't quite the same

- __map_request() is too aggressive about resending:

If the primary does not change, and it is a non-linger
request, then we do not need to resend (the OSD will requeue internally).
It's mostly harmless to resend as far as correctness goes... just
additional bandwidth.

- probably more


Related issues 6 (0 open6 closed)

Related to Linux kernel client - Bug #8568: libceph: kernel BUG at net/ceph/osd_client.c:885ClosedIlya Dryomov06/10/2014

Actions
Related to Linux kernel client - Bug #11960: Kernel panic when deleting a pool, which contains a mapped RBDClosedIlya Dryomov06/11/2015

Actions
Related to Linux kernel client - Bug #12254: krbd image watchClosedIlya Dryomov07/09/2015

Actions
Related to Linux kernel client - Bug #13081: data on rbd image get corrupted when pool quota is smaller than the size of the rbd imageResolvedIlya Dryomov09/14/2015

Actions
Related to Linux kernel client - Feature #14201: cope with a pool being removed from under a mapped imageResolvedIlya Dryomov12/30/2015

Actions
Blocks Linux kernel client - Feature #10585: use new, more reliable version of watch/notifyResolvedDouglas Fuller01/20/2015

Actions
Actions #1

Updated by Ilya Dryomov over 9 years ago

Make sure not to break existing (correct!) behavior: we need to resent watch or notify when any member of the acting set changes, not just the primary (#9220).
Make sure this fixes reproducers http://tracker.ceph.com/issues/11960#note-7 and http://tracker.ceph.com/issues/8568#note-8.

Actions #2

Updated by Ilya Dryomov over 9 years ago

  • Subject changed from sync up with objecter to libceph: sync up with objecter
Actions #3

Updated by Ilya Dryomov almost 9 years ago

  • Status changed from New to In Progress
  • Assignee set to Ilya Dryomov
  • Priority changed from Normal to Urgent
Actions #4

Updated by Ilya Dryomov almost 8 years ago

  • Related to Bug #13081: data on rbd image get corrupted when pool quota is smaller than the size of the rbd image added
Actions #5

Updated by Ilya Dryomov almost 8 years ago

  • Related to Feature #14201: cope with a pool being removed from under a mapped image added
Actions #6

Updated by Ilya Dryomov almost 8 years ago

  • Category set to libceph
  • Status changed from In Progress to Resolved

Done in 4.7. Highlights:

- per-session request trees (vs a global per-client tree)
- per-session locking (vs a global per-client rwlock)
- homeless OSD session
- no ad-hoc global per-client lists
- support for pool quotas
- watch/notify v2 support
- map check (pool deletion detection) support

Also fixes #9806 (corresponding fix for the kernel client), #11960, #12254.

Effectively closes out-of-order/misdirected issues #10889, #12691, #14901 and map_sem/request_mutex issues #14022, #15891.

Actions

Also available in: Atom PDF