Project

General

Profile

Bug #15642

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

Added by Rohith Radhakrishnan over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
High
Target version:
-
Start date:
04/28/2016
Due date:
% Done:

0%

Source:
other
Tags:
Backport:
jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

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

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

History

#1 Updated by Rohith Radhakrishnan over 2 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

#2 Updated by Ravi Kumar V over 2 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

#3 Updated by Rohith Radhakrishnan over 2 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.

#4 Updated by Jason Dillaman over 2 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?

#5 Updated by Rohith Radhakrishnan over 2 years ago

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

#6 Updated by Jason Dillaman over 2 years ago

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

#7 Updated by Jason Dillaman over 2 years ago

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

#8 Updated by Jason Dillaman over 2 years ago

  • Backport set to jewel

#9 Updated by Jason Dillaman over 2 years ago

  • Status changed from In Progress to Need Review

#10 Updated by Jason Dillaman over 2 years ago

  • Status changed from Need Review to Pending Backport

#11 Updated by Jason Dillaman over 2 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

#12 Updated by Jason Dillaman over 2 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF