123456789101112131415161718192021222324 |
- #include "fs.h"
- #include "inode.h"
- #include "clean.h"
- /*===========================================================================*
- * fs_sync *
- *===========================================================================*/
- void fs_sync(void)
- {
- /* Perform the sync() system call. Flush all the tables.
- * The order in which the various tables are flushed is critical. The
- * blocks must be flushed last, since rw_inode() leaves its results in
- * the block cache.
- */
- struct inode *rip;
- /* Write all the dirty inodes to the disk. */
- for(rip = &inode[0]; rip < &inode[NR_INODES]; rip++)
- if(rip->i_count > 0 && IN_ISDIRTY(rip)) rw_inode(rip, WRITING);
- /* Write all the dirty blocks to the disk. */
- lmfs_flushall();
- }
|