Project

General

Profile

Actions

Bug #15642

closed

"librbd::object_map::RefreshRequest: object map smaller than current object count: 25600000 != 25600000000" while deleting rbd image.

Added by Rohith Radhakrishnan almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
High
Assignee:
Jason Dillaman
Target version:
-
% Done:

0%

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

Description

This is seen with the latest version of build ceph version 10.2.0.

Steps to reproduce:-

1) Create RBD image with size 102400M
2) Resize the image to 10240000000 MB or more.
3) Delete rbd

Result: The following error is shown.

user@host1:$ sudo rbd remove rbd7 -p pool2
2016-04-28 16:50:55.931983 7fd7f3fff700 -1 librbd::object_map::RefreshRequest: object map smaller than current object count: 25600000 != 25600000000


Related issues 1 (0 open1 closed)

Copied to rbd - Backport #15820: jewel: "librbd::object_map::RefreshRequest: object map smaller than current object count: 25600000 != 25600000000" while deleting rbd image.ResolvedJason DillamanActions
Actions #1

Updated by Rohith Radhakrishnan almost 8 years ago

Also attaching sample output of the commands executed:-

1)sudo rbd -p pool2 create rbd7 --size 102400000

2)sudo rbd resize rbd7 -p pool2 -s 102400000000
2016-04-28 16:49:46.461626 7ffb13527700 -1 librbd::object_map::Request: failed to update object map: (22) Invalid argument
2016-04-28 16:49:46.461644 7ffb13527700 -1 librbd::object_map::InvalidateRequest: 0x7ffaf8002a30 invalidating object map in-memory
2016-04-28 16:49:46.461662 7ffb13527700 -1 librbd::object_map::InvalidateRequest: 0x7ffaf8002a30 invalidating object map on-disk
2016-04-28 16:49:46.462916 7ffb13527700 -1 librbd::object_map::InvalidateRequest: 0x7ffaf8002a30 should_complete: r=0
Resizing image: 100% complete...done.

3)sudo rbd info rbd7 -p pool2
rbd image 'rbd7':
size 97656 TB in 25600000000 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.39166b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags: object map invalid, fast diff invalid

4) sudo rbd remove rbd7 -p pool2
2016-04-28 16:50:55.931983 7fd7f3fff700 -1 librbd::object_map::RefreshRequest: object map smaller than current object count: 25600000 != 25600000000

Actions #2

Updated by Ravi Kumar V almost 8 years ago

This is because in new code base check introduced to avoid the excessively large object map creation. In this case it is trying to created more than 256000000 objects map (as per below patch the max objects map are limited to 256000000 objects) and this is normal behavior.
Please refer this patch for in detail information
https://github.com/ceph/ceph/commit/4aff4ea3290dc7fb62c639bfc74fcfdde5fe9542

Actions #3

Updated by Rohith Radhakrishnan almost 8 years ago

Yes. agreed that there is a size limit set for object creation beyond 256000000 objects. And this works when we try to create a large sized rbd image.
But the same restriction is not being set when then rbd is re-sized to greater then 256000000. And later when we try to delete the image we end up in this issue. Size limit restriction should be taken care of even while resizing.

Actions #4

Updated by Jason Dillaman almost 8 years ago

@Rohith: Concur that we should handle this situation better -- we should force the user to disable the object map in such situations where we know we cannot support it. Am I correct in assuming that you were still able to remove the image?

Actions #5

Updated by Rohith Radhakrishnan almost 8 years ago

@Jason Borden: No. I was not able to remove the image after resizing. This is when I was hitting the error.

Actions #6

Updated by Jason Dillaman almost 8 years ago

Gotcha -- we'll get it fixed. Thx.

Actions #7

Updated by Jason Dillaman almost 8 years ago

  • Status changed from New to In Progress
  • Assignee set to Jason Dillaman
Actions #8

Updated by Jason Dillaman almost 8 years ago

  • Backport set to jewel
Actions #9

Updated by Jason Dillaman almost 8 years ago

  • Status changed from In Progress to Fix Under Review
Actions #10

Updated by Jason Dillaman almost 8 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #11

Updated by Jason Dillaman almost 8 years ago

  • Copied to Backport #15820: jewel: "librbd::object_map::RefreshRequest: object map smaller than current object count: 25600000 != 25600000000" while deleting rbd image. added
Actions #12

Updated by Jason Dillaman almost 8 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF