This just merged:
https://github.com/ceph/ceph/pull/30581
which means that it's possible to construct cls methods that do updates
*and* return >0 return codes and (limited) data payload. You need to set
the WRITEVEC flag on the rados op for it to work, in order to avoid
breaking current users of requests like [stat, write] or [cmpxattr,
write], since those guard methods occasionally return data.
Enjoy!
sage