/* * This will flush all completed transactions to disk and * start asynchronous writes on the associated buffers */ /* * wapbl_flush(wl, wait) * * Flush pending block writes, deallocations, and inodes from * the current transaction in memory to the log on disk: * * 1. Call the file system's wl_flush callback to flush any * per-file-system pending updates. * 2. Wait for enough space in the log for the current transaction. * 3. Synchronously write the new log records, advancing the * circular queue head. * 4. Issue the pending block writes asynchronously, now that they * are recorded in the log and can be replayed after crash. * 5. If wait is true, wait for all writes to complete and for the * log to become empty. * * On failure, call the file system's wl_flush_abort callback. */