<dec f='src/src/sys/sys/wapbl.h' l='159' type='int wapbl_flush(struct wapbl * , int )'/>
<doc f='src/src/sys/sys/wapbl.h' l='155'>/*
 * This will flush all completed transactions to disk and
 * start asynchronous writes on the associated buffers
 */</doc>
<use f='src/src/sys/kern/vfs_wapbl.c' l='717' u='c' c='wapbl_stop'/>
<use f='src/src/sys/kern/vfs_wapbl.c' l='1018' u='c' c='wapbl_begin'/>
<def f='src/src/sys/kern/vfs_wapbl.c' l='1529' ll='1799' type='int wapbl_flush(struct wapbl * wl, int waitfor)'/>
<doc f='src/src/sys/kern/vfs_wapbl.c' l='1511'>/*
 * 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&apos;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&apos;s wl_flush_abort callback.
 */</doc>
<use f='src/src/sys/ufs/ffs/ffs_vfsops.c' l='1798' u='c' c='ffs_flushfiles'/>
<use f='src/src/sys/ufs/ffs/ffs_vfsops.c' l='1975' u='c' c='ffs_sync'/>
<use f='src/src/sys/ufs/ffs/ffs_vfsops.c' l='2415' u='c' c='ffs_suspendctl'/>
<use f='src/src/sys/ufs/ffs/ffs_vfsops.c' l='2473' u='c' c='ffs_vfs_fsync'/>
<use f='src/src/sys/ufs/ffs/ffs_vnops.c' l='404' u='c' c='ffs_fsync'/>
<use f='src/src/sys/ufs/ffs/ffs_vnops.c' l='520' u='c' c='ffs_full_fsync'/>
<use f='src/src/sys/ufs/ffs/ffs_wapbl.c' l='370' u='c' c='ffs_wapbl_start'/>
<use f='src/src/sys/ufs/ffs/ffs_wapbl.c' l='436' u='c' c='ffs_wapbl_stop'/>
