Actions
Bug #24399
closedinvalid object map when deep copying a resized (expanded) clone
% Done:
0%
Source:
Tags:
Backport:
mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
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
Actions