On 2/15/23 2:05 PM, Alan Somers wrote:
On Wed, Feb 15, 2023 at 2:33 PM John Baldwin <[email protected]> wrote:

The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=98844e99d40a90ae89d84762e07150af3a8f89bd

commit 98844e99d40a90ae89d84762e07150af3a8f89bd
Author:     John Baldwin <[email protected]>
AuthorDate: 2023-02-15 21:32:52 +0000
Commit:     John Baldwin <[email protected]>
CommitDate: 2023-02-15 21:32:52 +0000

     aio: Fix more synchronization issues in aio_biowakeup.

     - Use atomic_store to set job->error.  atomic_set does an or
       operation, not assignment.

     - Use refcount_* to manage job->nbio.

       This ensures proper memory barriers are present so that the last bio
       won't see a possibly stale value of job->error.

     - Don't re-read job->error after reading it via atomic_load.

     Reported by:    markj (1)
     Reviewed by:    mjg, markj
     Differential Revision:  https://reviews.freebsd.org/D38611

Thanks for fixing these subtle problems in aio_(read|write)v.  Will you MFC too?

Yes.  I only noticed these while reviewing the original fix from the folks at
TidalScale FWIW.

--
John Baldwin


Reply via email to