DAOS-11673 object: handle empty sgls for CPD update sub-request
For update request, it is possible that daos_obj_rw_t::sgls is NULL but daos_obj_rw_t::nr is non-zero, such as for punch_extent(). Such update request can be part of a distributed transaction. So related DTX logic needs to handle the empty 'sgls' properly.
Signed-off-by: Fan Yong [email protected]
Bug-tracker data: Ticket title is 'Properly handle transactional DAOS_OPC_OBJ_UPDATE' Status is 'In Progress' Labels: 'triaged' Job should run at elevated priority (3) https://daosio.atlassian.net/browse/DAOS-11673
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/1/execution/node/369/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/1/execution/node/341/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/1/execution/node/335/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/1/execution/node/336/log
Test stage Python Bandit check completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/3/execution/node/144/log
Test stage Functional Hardware Large completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/4/execution/node/1091/log
Test stage Functional Hardware Medium completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10389/12/execution/node/1084/log
Ping reviewers, thanks!
@ashleypittman @liw @mchaarawi , would you please to help review the patch? Thanks!
Ping @daos-stack/daos-gatekeeper , thanks!