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 Moolenbroekvoid 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