lkml.org 
[lkml]   [2006]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: question about possibility of data loss in Ext2/3 file system
    From
    Date
    On Wed, 2006-02-22 at 16:56 -0500, Xin Zhao wrote:
    > As far as I know, in Ext2/3 file system, data blocks to be flushed to
    > disk are usually marked as dirty and wait for kernel thread to flush
    > them lazily. So data blocks of a file could be flushed even after this
    > file is closed.
    >
    > Now consider this scenario: suppose data block 2,3 and 4 of file A are
    > marked to be flushed out. At time T1, block 2 and 3 are flushed, and
    > file A is closed. However, at time T2, system experiences power outage
    > and failed to flushed block 4. Does that mean we will end up with
    > getting a partially flushed file? Is there any way to provide better
    > guarantee on file integrity?

    on ext3 in default mode it works a bit different

    if you write a NEW file that is

    then first the data gets written (within like 5 seconds, and not waiting
    for the lazy flush daemon). Only when that is done is the metadata (eg
    filesize on disk) updated. So after the power comes back you don't see a
    mixed thing; you see a file of a certain size, and all the data upto
    that size is there.

    If you need more guarantees you need to use fsync/fdata_sync from the
    application.


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

    \
     
     \ /
      Last update: 2006-02-22 23:03    [W:0.036 / U:1.192 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site