Re: How to sync a file on FreeBSD? [SOLVED]
--- On Fri, 7/22/11, Pieter de Goeje pie...@degoeje.nl wrote: From: Pieter de Goeje pie...@degoeje.nl Subject: Re: How to sync a file on FreeBSD? To: freebsd-questions@freebsd.org Cc: Unga unga...@yahoo.com Date: Friday, July 22, 2011, 7:37 PM On Friday, July 22, 2011 08:44:00 AM Unga wrote: How to sync a file on FreeBSD (esp. on 8.1) to disk? I used fsync(2), but does not immediately flush to disk. I want my writing to a file (a log file) immediately available to other users to read. A file doesn't need to be synced to disk for other users to read the latest data. The application just needs to call write(2) and the data is available. It will be written to and read from the operating system's file cache. If you're using stdio you can force a write(2) by calling fflush(3). - Pieter Hi all Thanks for the replies. fflush(3) after fputs seems to work. Best regards Unga ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: How to sync a file on FreeBSD? [SOLVED]
This is extremely important, esp. with Softupdates, since fsync() does not guarantee a flush of all buffers to the medium. In order to implement a stable queue, it would be best to use a different filesystem. On Fri, Jul 22, 2011 at 6:16 AM, Unga unga...@yahoo.com wrote: --- On Fri, 7/22/11, Pieter de Goeje pie...@degoeje.nl wrote: From: Pieter de Goeje pie...@degoeje.nl Subject: Re: How to sync a file on FreeBSD? To: freebsd-questions@freebsd.org Cc: Unga unga...@yahoo.com Date: Friday, July 22, 2011, 7:37 PM On Friday, July 22, 2011 08:44:00 AM Unga wrote: How to sync a file on FreeBSD (esp. on 8.1) to disk? I used fsync(2), but does not immediately flush to disk. I want my writing to a file (a log file) immediately available to other users to read. A file doesn't need to be synced to disk for other users to read the latest data. The application just needs to call write(2) and the data is available. It will be written to and read from the operating system's file cache. If you're using stdio you can force a write(2) by calling fflush(3). - Pieter Hi all Thanks for the replies. fflush(3) after fputs seems to work. Best regards Unga ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: How to sync a file on FreeBSD? [SOLVED]
On Fri, 22 Jul 2011 07:37:48 -0700, Michael Sierchio wrote: This is extremely important, esp. with Softupdates, since fsync() does not guarantee a flush of all buffers to the medium. But wouldn't sync() (see man 2 sync) make sure that all buffers, even in regards to soft updates, get immediately flushed / written? In order to implement a stable queue, it would be best to use a different filesystem. What type of filesystem would match those requirements? -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: How to sync a file on FreeBSD? [SOLVED]
On Fri, Jul 22, 2011 at 7:42 AM, Polytropon free...@edvax.de wrote: But wouldn't sync() (see man 2 sync) make sure that all buffers, even in regards to soft updates, get immediately flushed / written? Apparently not. I think most of Matt Dillon's notes are still relevant. http://leaf.dragonflybsd.org/mailarchive/kernel/2010-01/msg5.html In order to implement a stable queue, it would be best to use a different filesystem. What type of filesystem would match those requirements? I would make a UFS filesystem without Softupdates enabled, use fflush() and wait for a proper ack before promising to the caller that the bits will survive something like pulling the plug. Softupdates guarantees metadata consistency. I would probably make decisions about block and fragment sizes based on knowledge of the physical device's buffer mechanism, sector sizes, etc. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org