Re: How to know when file data has been flushed into disk?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Douglas McNaught wrote:

"Xin Zhao" <uszhaoxin@xxxxxxxxx> writes:

3. Does sys_close() have to  be blocked until all data and metadata
are committed? If not, sys_close() may give application an illusion
that the file is successfully written, which can cause the application
to take subsequent operation. However, data flush could be failed. In
this case, file system seems to mislead the application. Is this true?
If so, any solutions?

The fsync() call is the way to make sure written data has hit the
disk.  close() doesn't guarantee that.

-Doug

You should also make sure, if you care about data recovery after a power outage, that you have either disabled the write cache on your drives or have a working write barrier. Without this, fsync will move the data from the page cache to the disk's write cache where it is up to the drive firmware to write it back to permanent, safe storage on the disk platter.

ric

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux