[Ocfs2-tools-commits] branch, metaecc, updated. ocfs2-tools-1.4.0-262-gb75faca

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Dec 29 17:43:24 PST 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Tools to manage the ocfs2 filesystem.".

The branch, metaecc has been updated
       via  b75facad5cfccd6635e1d4860d0817092a101883 (commit)
       via  c8eca60e7ddde1fcac7161ae0a176e261a7c63b1 (commit)
       via  b46dbe9e7595cc8e1bc42b6b04f89054bfd95253 (commit)
      from  aa0cc1dfc0a0f475ca4f5ce9c8d776756128d258 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b75facad5cfccd6635e1d4860d0817092a101883
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 29 17:42:44 2008 -0800

    tunefs.ocfs2: Write out ECC'd blocks and the feature bit.
    
    This finishes the enable_metaecc() functionality.  All blocks are
    re-written with their CRC/ECC and then the superblock is updated to
    support the feature.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit c8eca60e7ddde1fcac7161ae0a176e261a7c63b1
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 29 17:31:12 2008 -0800

    tunefs.ocfs2: Use the dirtrailer inprogress flag.
    
    Set OCFS2_TUNEFS_INPROG_DIR_TRAILER while we are adding trailers.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit b46dbe9e7595cc8e1bc42b6b04f89054bfd95253
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 29 17:27:04 2008 -0800

    libocfs2: Add the in-progress flag for enabling dirblock trailers.
    
    When tunefs.ocfs2 is adding directory block trailers, it cannot do it
    atomically.  For some directory blocks, dirents have to be moved out of
    the way to make room for the trailer.  These dirents are shifted to new
    directory blocks.
    
    When tunefs writes out the changes, it does so in the following order:
    
    1) Write out the new blocks
    2) Update the directory's i_size to include the new blocks
    3) Write the old blocks with trailers in place.
    
    If tunefs crashes after (1), the new blocks are just unused allocation.
    We're safe.  If tunefs crashes after (3), we have the directory with
    trailers correctly installed.  However, if tunefs crashes after (2), the
    old dirents are in the old blocks, but the shifted copies are in the new
    blocks.  This leaves duplicate dirents.  fsck.ocfs2 can fix them, but we
    need to set OCFS2_TUNEFS_INPROG_DIR_TRAILER to make sure fsck is run.
    
    The alternative order, writing out the old blocks before the new ones,
    leaves missing dirents in the case of a crash.  That's not a good plan.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

-----------------------------------------------------------------------

Summary of changes:
 include/ocfs2-kernel/ocfs2_fs.h |    3 ++
 libocfs2/feature_string.c       |    4 +++
 tunefs.ocfs2/feature_metaecc.c  |   49 ++++++++++++++++++++++++++++++--------
 3 files changed, 45 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
Tools to manage the ocfs2 filesystem.



More information about the Ocfs2-tools-commits mailing list