Project

General

Profile

Actions

Bug #39089

closed

krbd: fix rbd map hang due to udev return subsystem unordered

Added by Zhi Zhang about 5 years ago. Updated over 4 years ago.

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

0%

Source:
Community (dev)
Tags:
Backport:
luminous,mimic,nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Recently we found 'rbd map' hang forever but rbd device can work fine after terminating 'rbd map' or waiting it timed-out by using this change: http://tracker.ceph.com/issues/38792.

We tried to dig into it by adding some logs into krbd.cc and found that the order of subsystem returned by udev_device_get_subsystem might not be same order as adding subsystem by udev_monitor_filter_add_match_subsystem_devtype. So if subsystem 'block' is returned first and subsystem 'rbd' is returned next, then further poll will get nothing back and hang there.

So our fix is no matter which subsystem is returned first, we will deal with it properly. When both subsystems are returned, we will do the final check and compare. If something is wrong, it will still fall into next poll to be timed-out.


Related issues 4 (0 open4 closed)

Related to Linux kernel client - Bug #14737: libkrbd vs udev event orderingResolvedIlya Dryomov02/11/2016

Actions
Copied to rbd - Backport #39314: luminous: krbd: fix rbd map hang due to udev return subsystem unorderedResolvedIlya DryomovActions
Copied to rbd - Backport #39315: nautilus: krbd: fix rbd map hang due to udev return subsystem unorderedResolvedPrashant DActions
Copied to rbd - Backport #39316: mimic: krbd: fix rbd map hang due to udev return subsystem unorderedResolvedNathan CutlerActions
Actions #1

Updated by Zhi Zhang about 5 years ago

  • Pull request ID set to 27339
Actions #2

Updated by Ilya Dryomov about 5 years ago

  • Related to Bug #14737: libkrbd vs udev event ordering added
Actions #3

Updated by Ilya Dryomov about 5 years ago

  • Status changed from New to Pending Backport
  • Assignee set to Zhi Zhang
  • Backport set to luminous,mimic,nautilus
Actions #4

Updated by Nathan Cutler about 5 years ago

  • Copied to Backport #39314: luminous: krbd: fix rbd map hang due to udev return subsystem unordered added
Actions #5

Updated by Nathan Cutler about 5 years ago

  • Copied to Backport #39315: nautilus: krbd: fix rbd map hang due to udev return subsystem unordered added
Actions #6

Updated by Nathan Cutler about 5 years ago

  • Copied to Backport #39316: mimic: krbd: fix rbd map hang due to udev return subsystem unordered added
Actions #7

Updated by Nathan Cutler over 4 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Actions

Also available in: Atom PDF