Project

General

Profile

Bug #24399

invalid object map when deep copying a resized (expanded) clone

Added by Mykola Golub about 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
06/04/2018
Due date:
% Done:

0%

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

Description

Clone an image, resize to a large size, deep copy. The destination image will have invalidated object map, and the errors in the log:

2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::RefreshRequest: object map smaller than current object count: 26 != 37
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::InvalidateRequest: 0x7fe9b4fcc910 invalidating object map in-memory
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::InvalidateRequest: 0x7fe9b4fcc910 invalidating object map on-disk
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::InvalidateRequest: 0x7fe9b4fcc910 should_complete: r=0

It is sporadically reproduced by running TestDeepCopy.Stress:

maha:~/ceph/ceph.trociny/build% RBD_FEATURES=13 CEPH_LIB=./lib ./bin/unittest_librbd --gtest_filter=TestDeepCopy.Stress
seed 19184
Note: Google Test filter = TestDeepCopy.Stress
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestDeepCopy
[ RUN      ] TestDeepCopy.Stress
Failed to load class: cephfs (./lib/libcls_cephfs.so): ./lib/libcls_cephfs.so: undefined symbol: _ZTI10PGLSFilter
Failed to load class: hello (./lib/libcls_hello.so): ./lib/libcls_hello.so: undefined symbol: _ZTI10PGLSFilter
Failed to load class: log (./lib/libcls_log.so): ./lib/libcls_log.so: undefined symbol: _Z24cls_cxx_map_write_headerPvPN4ceph6buffer4listE
Failed to load class: lua (./lib/libcls_lua.so): ./lib/libcls_lua.so: undefined symbol: _Z24cls_cxx_map_write_headerPvPN4ceph6buffer4listE
Failed to load class: refcount (./lib/libcls_refcount.so): ./lib/libcls_refcount.so: undefined symbol: _Z14cls_cxx_removePv
Failed to load class: rgw (./lib/libcls_rgw.so): ./lib/libcls_rgw.so: undefined symbol: _Z24cls_cxx_map_write_headerPvPN4ceph6buffer4listE
Failed to load class: sdk (./lib/libcls_sdk.so): ./lib/libcls_sdk.so: undefined symbol: _Z14cls_cxx_removePv
Failed to load class: user (./lib/libcls_user.so): ./lib/libcls_user.so: undefined symbol: _Z24cls_cxx_map_write_headerPvPN4ceph6buffer4listE
Failed to load class: version (./lib/libcls_version.so): ./lib/libcls_version.so: undefined symbol: _Z19cls_gen_rand_base64Pci
write: A 72354953~967646
discard: 71515726~6377859
write: A 53909152~2841785
discard: 5084806~6240326
write: A 34883697~4241599
discard: 50706785~7938024
write: A 15883546~8077201
discard: 81212012~1759400
snap: snap0
clone image2 -> image3
write: B 32405728~6109886
discard: 51635036~2063697
write: B 16863040~7533435
discard: 31209360~3209813
write: B 33597076~3502817
discard: 10592817~7830296
write: B 29853601~1010290
discard: 5417153~193461
snap: snap1
clone image3 -> image4
resize: 104889056
write: C 92521240~8012565
discard: 79659414~3775176
write: C 36310115~4286730
discard: 9875446~1758494
write: C 1162355~1517042
discard: 91198449~913576
write: C 65419993~579859
discard: 3510062~541709
snap: snap2
clone image4 -> image5
write: D 49333847~6565915
discard: 99679146~5209910
write: D 35000599~4804457
discard: 9907050~574977
write: D 33485879~650033
discard: 63470226~5101874
write: D 5474250~3969900
discard: 100343618~262362
snap: snap3
resize: 152496672
[       OK ] TestDeepCopy.Stress (416 ms)
[----------] 1 test from TestDeepCopy (416 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (441 ms total)
[  PASSED  ] 1 test.
maha:~/ceph/ceph.trociny/build% cat `ls -t out/client.admin.*.log | head -1`                                           
2018-06-04 07:41:21.738 7fea0c6b7a00 -1 WARNING: all dangerous and experimental features are enabled.
2018-06-04 07:41:21.742 7fea0c6b7a00 -1 WARNING: all dangerous and experimental features are enabled.
2018-06-04 07:41:21.750 7fea0c6b7a00 -1 WARNING: all dangerous and experimental features are enabled.
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::RefreshRequest: object map smaller than current object count: 26 != 37
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::InvalidateRequest: 0x7fe9b4fcc910 invalidating object map in-memory
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::InvalidateRequest: 0x7fe9b4fcc910 invalidating object map on-disk
2018-06-04 07:41:21.982 7fe9b37fe700 -1 librbd::object_map::InvalidateRequest: 0x7fe9b4fcc910 should_complete: r=0


Related issues

Copied to rbd - Backport #24499: mimic: invalid object map when deep copying a resized (expanded) clone Resolved

History

#1 Updated by Mykola Golub about 1 year ago

  • Subject changed from invalid object object map when deep copying a resized (expanded) clone to invalid object map when deep copying a resized (expanded) clone

#2 Updated by Mykola Golub about 1 year ago

  • Status changed from In Progress to Need Review

#3 Updated by Jason Dillaman about 1 year ago

  • Status changed from Need Review to Pending Backport

#4 Updated by Nathan Cutler about 1 year ago

  • Copied to Backport #24499: mimic: invalid object map when deep copying a resized (expanded) clone added

#5 Updated by Nathan Cutler about 1 year ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF