Project

General

Profile

Actions

Bug #13423

closed

failed to get major for a rbd device

Added by Xudong Cao over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):

Description

When we intend to map too many rbd devices (i.e. 229 rbd devices) in a linux system, the block major device number will be exhausted, then we'll get a error below and it leads to a failed map:
Oct 8 21:27:58 Ubuntu kernel: [66590.561463] register_blkdev: failed to get major for rbd230

Actions #1

Updated by Xudong Cao over 8 years ago

Xudong Cao wrote:

When we intend to map too many rbd devices (i.e. 229 rbd devices) in a linux system, the block major device number will be exhausted, then we'll get a error below and it leads to a failed map:
Oct 8 21:27:58 Ubuntu kernel: [66590.561463] register_blkdev: failed to get major for rbd230

This's a quite serious problem, once the block major device number is used up, we can't add any block device into system, i.e. a scsi disk, a usb device, etc.

Actions #2

Updated by Xudong Cao over 8 years ago

update: we can't add any block devices that need to dynamically alloc a major device number to system.^_^

Actions #3

Updated by Jason Dillaman over 8 years ago

  • Status changed from New to Closed

This issue is brought up often on the mailing list. Semi-recent rbd kernel drivers can use minor device numbers instead of major. There is a module parameter named "single_major" which controls this behavior. It defaults to false, so if you load the rbd module directly (instead of allowing 'rbd map' to load the module), you will get the old behavior where a new major is used for each device.

Actions

Also available in: Atom PDF