Thanks for your reply. That make sense. But at least ext3 needs to know when all data has been flushed so that it can commit the meta data. Question is how can ext3 knows that? The data flushing is done by flush daemon. There go to be some way to notify ext3 that data is flushed. Where is this part of code in ext3 module? Xin On 4/7/06, Douglas McNaught <doug@xxxxxxxxxxxx> 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 > - 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