Bug #13124
closedlibrbd order limits inconsistent with rbd cli
0%
Description
ceph -v
ceph version 0.94.3 (95cefea9fd9ab740263bf8bb4796fd864d9afe2b)
Using librdb directly (for example by using ceph-ruby) I can create images with an order of 26. This creates images which are broken in various strange ways.
The rbd client allows a maximum order of 25 (rbd: order must be between 12 (4 KB) and 25 (32 MB)). Librbd should enforce the same limits as the rbd client does (or which acutally are needed).
"images broken in various strange ways" explained:
rbd image 'test':
size 1024 MB in 16 objects
order 26 (65536 kB objects)
block_name_prefix: rbd_data.ac986b8b4567
format: 2
features: layering, striping, exclusive, object map
flags:
stripe unit: 65536 kB
stripe count: 1
rbd cp test test1
Image copy: 56% complete...
-> hangs here forever (I then interrupted by ctrl-c)...
rbd cp test test1
Image copy: 0% complete...failed.2015-09-16 18:15:25.561182 7fba61510840 1 librbd: rbd image test1 already exists> more or less expected
2015-09-16 18:15:25.561234 7fba61510840 -1 librbd: header creation failed
rbd: copy failed: (17) File exists
rbd rm test1
rm: cannot remove 'rbd/test1': No such file or directory
-> what?!
Updated by Josh Durgin over 8 years ago
- Project changed from Ceph to rbd
- Subject changed from librd doesn't check order limits to librbd order limits inconsistent with rbd cli
There are a few things going on here.
1) librbd is enforcing limits on order, they're just higher than /usr/bin/rbd (librbd has a max of order 64). I've no objection to making that 32 to match the cli.
2) 'rbd cp' hangs - created a separate issue for this (#13164)
3) 'rbd rm' failure - I can't reproduce this
Updated by Xinxin Shu over 8 years ago
- Status changed from New to Fix Under Review
Updated by Josh Durgin over 8 years ago
- Status changed from Fix Under Review to Resolved
If you can reproduce the 'rbd rm' failing from the original description, please open another bug. Closing this one for the order limit inconsistency.