On Fri, Mar 11, 2016 at 2:10 PM, Tony Luck <tony.l...@gmail.com> wrote: > On Thu, Mar 10, 2016 at 11:37 AM, Luck, Tony <tony.l...@intel.com> wrote: >>> But you return 0 == false for success and 1 == true for failure. >> >> Aaargh! -ETOOMUCHSHELLSCRIPTPROGRAMMING >> >> -Tony > > Options to fix this: > 1) Just change the comments in the code. > This seems like it would confuse people as I thing most people > would expect the "true" return to mean the copy succeeded. > 2) Reverse the return values. > Better that option 1 - but doesn't leave scope to return a count > if some future user does want to know where the copy failed. > 3) Change the return type back from "bool" to "int" > 0 == success, non-zero == fail (with option to put the non-copied > byte count in later). > 4) Something else >
You could return 0 for success and -EIO for failure (positive value for 'location' if that support ever resurfaces). That would at least let me drop the ternary conversion I have in memcpy_from_pmem() [1] to convert bool to an error code. [1]: https://patchwork.kernel.org/patch/8559521/