If you don't get a patch from me by tomorrow, then please do it yourself.
I'm about to go away for a 10-14 days.
On Thu, Feb 28, 2019 at 4:33 PM Frank Filz <ffilzlnx(a)mindspring.com> wrote:
The if statement at the top of nfs3_read_cb (and I assume nfs3_write_cb
also) needs to be re-organized to handle the no-error case first so that
doesn’t go through nfs_RetryableError.
I can patch, or you can submit, either way.
*From:* Bjorn Leffler [mailto:email@example.com]
*Sent:* Wednesday, February 27, 2019 8:51 PM
*Subject:* [NFS-Ganesha-Devel] Correct usage of nfs3_read_cb callback?
I'm implementing a new FSAL. At the end of a successful read2() function,
I call the callback as follows:
void myfsal_read2(struct fsal_obj_handle *obj_hdl,
struct fsal_io_arg *read_arg,
// ... read data ...
fsal_status_t status = fsalstat(ERR_FSAL_NO_ERROR, 0);
done_cb(obj_hdl, status, read_arg, caller_arg);
This generates the following error in src/Protocols/NFS/nfs_proto_tools.c,
nfs_RetryableError :NFS3 :CRIT :Possible implementation error:
ERR_FSAL_NO_ERROR managed as an error
From the client side, read / write operations work as expected. If I don't
call the callback function, the NFS operation doesn't complete.
What are the correct usage of the callback functions, after successful