On Tue, Feb 28, 2006 at 08:50:53PM +0500, Victor Porton wrote: > On 28-Feb-2006 Erik Mouw wrote: > > It even makes sense on a single machine with multiple programs still > > accessing the same file. You want fsync() and fdatasync() to work > > regardless of the amount of links. Not doing so could subtly break > > programs. For example: > > Erik, what you said above is wrong. > > There are no need to sync this file to disk (except of when we are out of > memory). It is enough to sync the buffers in MEMORY. > > From man write(2): > > write writes up to count bytes to the file referenced by the file > descriptor fd from the buffer starting at buf. POSIX requires that a > read() which can be proved to occur after a write() has returned > returns the new data. Note that not all file systems are POSIX con- > forming. AFAIK that's read() from the same process, not read() from another process. Otherwise there would be no need for fsync()/fdatasync(). But look at my example. tail(1) uses fstat64() to figure out if /var/log/messages changed. Your proposal for a patch will break that. Again: the number of links of an inode is not a reason to break established semantics. Erik -- +-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 -- | Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands _______________________________________________ Ext3-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/ext3-users