Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The RBD image size field in protobuf is 32 bits which is not big enough #353

Closed
gbregman opened this issue Jan 3, 2024 · 0 comments · Fixed by #354
Closed

The RBD image size field in protobuf is 32 bits which is not big enough #353

gbregman opened this issue Jan 3, 2024 · 0 comments · Fixed by #354
Assignees

Comments

@gbregman
Copy link
Contributor

gbregman commented Jan 3, 2024

When we used an image size of 8GB we got an error in grpc.c:

Jan 03 14:01:46 ceph-nvme-vm1 bash[103930]: INFO:control.grpc:list_namespaces: [{'nqn': 'nqn.2016-06.io.spdk:cnode1', 'subtype': 'NVMe', 'listen_addresses': [], 'allow_any_host': True, 'hosts': [], 'serial_number': 'SPDK24287840519620', 'model_number': 'SPDK bdev Controller', 'max_namespaces': 256, 'min_cntlid': 1, 'max_cntlid': 65519, 'namespaces': [{'nsid': 1, 'bdev_name': 'bdev_2ad8834b-52a7-4563-b7c2-c35fec4a542d', 'name': 'bdev_2ad8834b-52a7-4563-b7c2-c35fec4a542d', 'nguid': '2AD8834B52A74563B7C2C35FEC4A542D', 'uuid': '2ad8834b-52a7-4563-b7c2-c35fec4a542d'}]}]
Jan 03 14:01:46 ceph-nvme-vm1 bash[103930]: ERROR:control.grpc:ns_bdev={'name': 'bdev_2ad8834b-52a7-4563-b7c2-c35fec4a542d', 'aliases': ['2ad8834b-52a7-4563-b7c2-c35fec4a542d'], 'product_name': 'Ceph Rbd Disk', 'block_size': 512, 'num_blocks': 16777216, 'uuid': '2ad8834b-52a7-4563-b7c2-c35fec4a542d', 'assigned_rate_limits': {'rw_ios_per_sec': 0, 'rw_mbytes_per_sec': 0, 'r_mbytes_per_sec': 0, 'w_mbytes_per_sec': 0}, 'claimed': True, 'zoned': False, 'supported_io_types': {'read': True, 'write': True, 'unmap': True, 'write_zeroes': True, 'flush': True, 'reset': True, 'compare': False, 'compare_and_write': False, 'abort': False, 'nvme_admin': False, 'nvme_io': False}, 'driver_specific': {'rbd': {'pool_name': 'mypool', 'rbd_name': 'myimage', 'user_id': 'nvmeof.mypool.ceph-nvme-vm1.kbdjnt'}}} parse error:
Jan 03 14:01:46 ceph-nvme-vm1 bash[103930]: Traceback (most recent call last):
Jan 03 14:01:46 ceph-nvme-vm1 bash[103930]:   File "/src/control/grpc.py", line 875, in list_namespaces
Jan 03 14:01:46 ceph-nvme-vm1 bash[103930]:     one_ns.rbd_image_size = ns_bdev["block_size"] * ns_bdev["num_blocks"]
Jan 03 14:01:46 ceph-nvme-vm1 bash[103930]: ValueError: Value out of range: 8589934592

Looking at the definition of rbd_image_size I see it's uint32 which is not big enough for 8GB. We need to change it to uint64.

@gbregman gbregman self-assigned this Jan 3, 2024
gbregman added a commit to gbregman/ceph-nvmeof that referenced this issue Jan 3, 2024
Fixes ceph#353

Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
gbregman added a commit to gbregman/ceph-nvmeof that referenced this issue Jan 3, 2024
Fixes ceph#353

Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant