xref: /minix3/minix/lib/libpuffs/misc.c (revision ba736c796854b82e29da17267614db0a449419db)
1*ba736c79SDavid van Moolenbroek /* Created (MFS based):
2*ba736c79SDavid van Moolenbroek  *   June 2011 (Evgeniy Ivanov)
3*ba736c79SDavid van Moolenbroek  */
4*ba736c79SDavid van Moolenbroek 
5*ba736c79SDavid van Moolenbroek #include "fs.h"
6*ba736c79SDavid van Moolenbroek 
7*ba736c79SDavid van Moolenbroek /*===========================================================================*
8*ba736c79SDavid van Moolenbroek  *				fs_sync					     *
9*ba736c79SDavid van Moolenbroek  *===========================================================================*/
fs_sync(void)10*ba736c79SDavid van Moolenbroek void fs_sync(void)
11*ba736c79SDavid van Moolenbroek {
12*ba736c79SDavid van Moolenbroek /* Perform the sync() system call.  Flush all the tables.
13*ba736c79SDavid van Moolenbroek  * The order in which the various tables are flushed is critical.
14*ba736c79SDavid van Moolenbroek  */
15*ba736c79SDavid van Moolenbroek   int r;
16*ba736c79SDavid van Moolenbroek   PUFFS_MAKECRED(pcr, &global_kcred);
17*ba736c79SDavid van Moolenbroek 
18*ba736c79SDavid van Moolenbroek   if (is_readonly_fs)
19*ba736c79SDavid van Moolenbroek 	return; /* nothing to sync */
20*ba736c79SDavid van Moolenbroek 
21*ba736c79SDavid van Moolenbroek   r = global_pu->pu_ops.puffs_fs_sync(global_pu, MNT_WAIT, pcr);
22*ba736c79SDavid van Moolenbroek   if (r) {
23*ba736c79SDavid van Moolenbroek 	lpuffs_debug("Warning: sync failed!\n");
24*ba736c79SDavid van Moolenbroek   }
25*ba736c79SDavid van Moolenbroek }
26