On Dec 5, 2019, at 5:41 PM, John Hubbard jhubbard@nvidia.com wrote:
Please recall how this started: it was due to a report from a real end user, who was seeing a real problem. After a few emails, it was clear that there's not a good work around available for cases like this:
- User space calls move_pages(), gets 0 (success) returned, and based on that,
proceeds to iterate through the status array.
- The status array remains untouched by the move_pages() call, so confusion and
wrong behavior ensues.
After some further discussion, we decided that the current behavior really is incorrect, and that it needs fixing in the kernel. Which this patch does.
Well, that test code itself does not really tell any real world use case. Also, thanks to the discussion, it brought to me it is more obvious and critical that the return code is wrong according to the spec. Then, if that part is taking care of, it would kill two-bird with one stone because there is no need to return status array anymore. Make sense?