This series aims to convert all but one of the remaining users of
semaphores in the XFS code to use completions. Two of these
semaphores don't quite match to completion semantics, but a small
amount of additional code on top of the completions fixes this
problem. I'm open to suggestions on different/better ways to implement
The patch series does not touch the b_lock semaphore in the
xfs_buf_t. At this point I'm not sure what we want to do with that
semaphore so I've ignored that for now. Also, this lock uses
linux primitives, not the xfs sema_t primitives so it doesn't
need changing to allow me to remove the sema_t.
o remove "flush" based API and just add the minimum necessary
extensions to allow counting completions to do what is needed
o change XFS patches to make use of new API
o clean up the XFS APIs using the new completion API a little.