[VFS?] flush-on-close() & close(2) guarantees ?

From: Cyrille Chepelov (home) (chepelov@calixo.net)
Date: Wed Mar 15 2000 - 18:24:41 EST


Hi all,

Does close(2) actually guarantees, on ext2fs, that all data is flushed to
disk ? filp_close() does indeed try to call f_op->flush() if it exists,
but unfortunately, only CODA and NFS seem to provide such a flush()
function.

Does ext2, in async mode, do anything to guarantee that if all write()s to
a file succeed and the subsequent close() succeeds, then the power
suddenly goes off, the file is still correctly written to the disk ? (I
think about behaviour things like MTAs might require)

If not, wouldn't it be good to provide something like
void generic_flush(file *filp) {
   if (filp->f_op)
      filp->f_op->fsync(filp,filp->f_dentry);
}
and tell all filesystems without a specific f_op->flush() to use that ?

Just wondering...

        -- Cyrille

------------------------------------------------------------------------------
Grumpf.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 21:00:17 EST