Project

General

Profile

Actions

Bug #15362

closed

Python binding for librados: operate_read_op()/operate_write_op() do not return result code

Added by Roland Mechler about 8 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

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

Description

operate_read_op()/operate_write_op() do not return the result code from the underlying rados_read_op_operate()/rados_write_op_operate() call, needed for proper error handling. In both rados.py and rados.pyx.

Actions #1

Updated by Roland Mechler about 8 years ago

Also noticed that:

get_omap_vals()
get_omap_keys()
get_omap_vals_by_keys()

can all return random non-zero return values upon success. This appears to be because prval is not initialized before the librados C function call, and the C does not zero the value on success.

Actions #2

Updated by Roland Mechler about 8 years ago

I am working on fixes for the above issues.

Actions #3

Updated by Roland Mechler about 8 years ago

Actually prval is correctly initialized to 0 in get_omap_vals(), but not initialized in the other 2 methods mentioned.

Actions #5

Updated by Nathan Cutler about 8 years ago

  • Status changed from New to Fix Under Review
Actions #6

Updated by Greg Farnum about 7 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF