[Ocfs2-tools-commits] branch, metaecc-history, created. ocfs2-tools-1.4.0-263-g92c61b5

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Dec 29 18:05:33 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-history has been created
        at  92c61b5f0b26e643e58320ad4a365ac6d6e23929 (commit)

- Log -----------------------------------------------------------------
commit 92c61b5f0b26e643e58320ad4a365ac6d6e23929
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 68e8766e9c963182b195d21708df3ff0dff1b2ae
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 2f92829c11d7cde21927b0ee13248f686c575ea3
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>

commit efca3fb6c6f6c8ce5163539ce632ab191f0fa9ef
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 29 16:22:57 2008 -0800

    tunefs.ocfs2: Actually write out the directory block trailers.
    
    We've calculated the directory block changes required for trailers.  Now
    write out the modified blocks.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 2f8789317d56a6297f35c9d77ab73c75746922d8
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 29 16:20:59 2008 -0800

    libocfs2: Um, zero trailers before initializing them.  idiot.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 88e86367ee62b6ceb5815bbb41cf77028f8f2544
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sun Dec 28 03:27:26 2008 -0800

    tunefs.ocfs2: Add the code to create trailered dirblocks.
    
    Walk the dirblocks, move any dirents out to new dirblocks when needed,
    then adjust the last dirent and install the trailer.  Doesn't write the
    changed blocks yet.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit a680d1619f17f22b90145ba328e205595e12eeee
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sun Dec 21 16:24:11 2008 -0800

    tunefs.ocfs2: Some more metaecc work.
    
    Started to walk the dirblocks that need trailers.  Brain slowing down.
    Will finish later.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit f66e561037e255f6e41d86a6e0b79cefe2928c1c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sun Dec 21 16:03:24 2008 -0800

    tunefs.ocfs2: Start the feature_metaecc program.
    
    The metaecc feature scans all the inodes for any metadata and also scans
    for directories that need to have trailers installed.  It takes pains to
    cache blocks it has seen, because it will need to re-write them with
    ecc.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit f9aad812e1f18a2f35f3b4638f9facbfd3dffe17
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 17:26:31 2008 -0800

    debugfs.ocfs2: Add CRC dump to dir trailers.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 05abf8654792708a5b8c13b1d4b838e9d546b64d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 17:23:44 2008 -0800

    debugfs.ocfs2: Add dump_block_check() to the header.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit f3c702ba93e3af82a7b622921731ce9605dde716
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 17:23:03 2008 -0800

    debugfs.ocfs2: Dump new dir trailer fields.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 7eccd4b1643166f6e1b150c2bb172a601146a7a8
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 17:18:57 2008 -0800

    fsck.ocfs2: Add the new dir trailer fields to fsck.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit e0e5e96e06ff85ae8118514f0ad731d23b343526
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 17:10:55 2008 -0800

    libocfs2: Swap the new dir trailer fields.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit a9e35da7bf206fe1f55ee8c77d3c5cbf10d0bca3
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 17:08:52 2008 -0800

    mkfs.ocfs2: Use the new dir trailer initializer
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 764b3e5d81a5e5a9717786edb190c3f136d867ff
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 16:57:28 2008 -0800

    libocfs2: Add dir trailer arguments to the expandir part.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit b7c847f36911fe95b6d4a901fcf2e3623d77f93d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 16:53:41 2008 -0800

    ocfs2_fs.h: Add the blkno to the trailer.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 2b67e8e8da7aef760de7bfc62ace72bc4fcf787d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 15:36:10 2008 -0800

    mkfs.ocfs2: Fix the fake_super convenience function.
    
    I'm an idiot, and stomping on memory.  Pass an entire block to
    fill_fake_super().
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 3143c2978481b2bbd5a18b530433b5605310875c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 15:16:50 2008 -0800

    debugfs.ocfs2: Dump dir trailers.
    
    A simple iterator that dumps a dir trailer.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit c36dd3c692972dc442045bc65f2442550cdb0922
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 03:40:09 2008 -0800

    libocfs2: ocfs2_link() needs to know about trailers.
    
    The link_proc() function needs to know when to adjust for dir trailers.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit f26c5eedfd12b2d80070ebd333fefc4272b6a1ab
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 02:28:54 2008 -0800

    libocfs2, mkfs.ocfs2: Add checksums and ecc to dirblocks.
    
    Now the functions to read and write dirblocks can compute checksums.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit a080f78de47f08f79cffe999d80084473e70498c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 18 02:19:55 2008 -0800

    mkfs.ocfs2: Write directory trailers when necessary.
    
    Add the code to put trailers on dirblocks when they are created in mkfs.
    This includes a little convenience routine, fill_fake_fs(), that allows
    us to use simple functions on a fake ocfs2_filesys created from State.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit cc4f6eab8b82535a533a3f57a844f9f69e9a57c3
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Dec 17 18:06:18 2008 -0800

    libocfs2: Handle dir trailer fields at dirblock read/write.
    
    Swap the inode and rec_len fields of the dir trailer when we read and
    write a dirblock.  Check the dir trailer signature if we're supposed to.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 9bad03a06f6ea8aadeee46e3eacf349cc7fd4ae2
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Dec 17 17:53:27 2008 -0800

    libocfs2: Initialize dirblock trailers when creating new dirblocks.
    
    libocfs2 creates new dirblocks in three places:
    
    - non-inline mkdir
    - expanding inline to a dirblock
    - adding a new dirblock
    
    All places now initialize a trailer if necessary.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 187351d9e2e53e64c24ea4ed673e201e118daea4
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Dec 17 17:32:22 2008 -0800

    fsck.ocfs2: Add checking of directory trailers.
    
    If we have trailers, fsck needs to know about them.
    
    In pass2, we don't treat the trailer of a directory block as a regular
    dirent.  We fix the trailer's compatibility fields if they are broken.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit d4e80288b8c41ab7d7e2362ef100e2cea239e32f
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Dec 17 16:53:56 2008 -0800

    libocfs2: Skip dir trailers in our iterators.
    
    The ocfs2_dir_iterate*() and ocfs2_dir_scan*() functions need to skip
    dirblock trailers.  ocfs2_dir_iterate*() can be passed
    OCFS2_DIRENT_FLAG_INCLUDE_TRAILER if you really want to see it.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4abc04a754a817eb234b5b0dcfa94378c0792fcb
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Dec 17 15:58:32 2008 -0800

    libocfs2: Pass the dinode to ocfs2_read/write_dir_block().
    
    Future code will need to look at the dinode when reading and writing
    dirblocks, so let's pass it in.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit a4a0d45633e4c8ef97284faa9a4897ca8f706002
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Dec 17 15:46:18 2008 -0800

    libocfs2: Bring ocfs2_fs.h from the kernel.
    
    Bring in the latest ocfs2_fs.h from the kernel.  This includes the
    quota, xattr, and dir trailer structures.
    
    The only changes from the kernel:
    
    - Remove XATTR and QUOTA from the list of supported features.
    - Remove the quota system files from the system inode list.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4947c88e98ab933f2bea96667197274be4e50435
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Dec 16 13:49:58 2008 -0800

    libocfs2: Cache code bits in parity calculation
    
    The parity calculation has to convert a data buffer bit offset into a
    code buffer bit offset.  By caching the difference between those
    offsets, we can make the calculation faster.  It starts from a more
    recent place.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit dc19e253fa0cefccb3c98a5b06a9900d1d40e308
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 15 18:22:30 2008 -0800

    libocfs2: Shrink the usage of the ocfs2_hamming_encode() function.
    
    Take the hand-coded xor and just use xor on the word.  Start
    calc_code_bit() at a good approximation.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 8ecf5ded9c89ee9e80ebd7c76c8a20a2822c3c52
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 15 16:43:10 2008 -0800

    libocfs2: Add hamming code tester.
    
    Change the blockcheck.c debugexe code to allow us to time and optimize
    the ecc calculation.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit fd1e6a5fb28e1965991252b161bda2bd384acc05
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 15 14:58:39 2008 -0800

    libocfs2: Bring hamming funcs up to the kernel level
    
    This means the multi-hunk api.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit c07055a4597089eb8671f27af5b8458a516b1f85
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Dec 15 14:01:28 2008 -0800

    libocfs2: Change ocfs2_open()'s csum check to match the kernel.
    
    The ocfs2_open() code can't sanely swap a superblock that isn't a valid
    superblock - it walks off the end.
    
    Let's do what the kernel does - validate the signature first, then check
    the ecc.  It means that ecc can't fix the signature, but that's a tiny
    little window fixed by backup supers.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 2048a2cc0c2dbc38e71c5678135c7b0b2642c0a0
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Dec 4 16:34:23 2008 -0800

    libocfs2: ECC needs the correct bitcount.
    
    I was passing 'blocksize' to the hamming code functions.  But they work
    on bits, not bytes, so they were eccing the first 1/8 of the block.
    Whoops!
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit df3bb31bff3504e8f809a068d451d0a81623056c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri Oct 17 14:50:21 2008 -0700

    libocfs2: Bring i_check in line with the kernel.
    
    The xattr code has required a move of i_check.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 87e8bd1e03b2da2003e33f343a5e08aa6b1ad268
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Aug 28 12:43:54 2008 -0700

    blockcheck: Consolidate dumping of the CRC in debugfs.
    
    Make one function that dumps ocfs2_block_check and use it where needed.
    Also, print N/A if INCOMPAT_META_ECC is not set.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 5bbdc988e698167c6aa817ef61e111a6908c4cff
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 18:59:53 2008 -0700

    blockcheck: Use an unused value for META_ECC
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 151ab2534a41e4e38e0a85e9cbf394df05601132
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 18:46:06 2008 -0700

    blockcheck: Print block check information in debugfs.ocfs2.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit ff578bf11d5e181a550ff924bcf64fd8bb9d5005
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 18:45:24 2008 -0700

    blockcheck: Restore block check data
    
    ocfs2_block_check_validate() zeros the check data in the buffer before
    calculating the values.  It needs to restore that data to the buffer at
    exit.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit ada05f9dbda5abe4ca6484a9d9843940725b865f
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 18:14:10 2008 -0700

    blockcheck: Enable mkfs to create filesystems with meta ecc
    
    mkfs has to compute ecc on the objects it creates before ocfs2_open()
    can be called.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4a644835a408e0dc4b1f2ec83bc7533fcd64c6dd
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 18:09:30 2008 -0700

    blockcheck: More ocfs2_read_super() fixes.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 1082b539d5a99e2462166d0b4ebd070249312be5
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 17:43:12 2008 -0700

    blockcheck: Add META_ECC to the supported feature list
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 7908a42467158fa0a46ff2d11576b04de5aeb6c1
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 17:41:06 2008 -0700

    blockcheck: Properly handle back checksums in openfs.
    
    read_super() can return ET_IO for back checksums.  This will always
    happen when we're scanning for the superblock, so ocfs2_open() needs to
    handle that case.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 69609ff2682d19afaec2703508f13773cf5aa934
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 17:23:12 2008 -0700

    blockcheck: Take fs out of the low-level block_check functions.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 7a9a594227969db46b1eac22ae3fdc58a2fd7494
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 17:17:19 2008 -0700

    blockcheck: move the low-level block_check_compute/validate() functions
    
    mkfs needs the lower-level ocfs2_block_check_compute()/validate()
    functions.  Put them in ocfs2.h with a comment.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 22d86d8fa6d0f729d558aed428fb7f97bbcd9e19
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 17:12:04 2008 -0700

    blockcheck: Fix ocfs2_read_super() to handle missing fs->fs_super.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 9e3da0ff5ec8f49c4e93531e7f80271769c6bdff
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 16:52:20 2008 -0700

    blockcheck: Add metaecc to feature_string.c
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 62d91c4c483db7b11bc8e0416aed7a112474ce9a
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 16:43:36 2008 -0700

    blockcheck: set/check meta ecc on disk structures
    
    Missing dirs, will get there later.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 2bcc12234ae17c9146ff8801c12b6de784e43cf1
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 16:26:29 2008 -0700

    blockcheck: Update sizetest
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit b4276596c1b0dd34073f52ccabc75d280f91a09f
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Aug 27 16:21:12 2008 -0700

    blockcheck: Add ocfs2_block_check to structures.
    
    Add the checksum structure to dinode/extent_block/group_descriptor.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 5da86bc1a4873d82929338d49388ec9011bb7a1e
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Aug 26 14:36:34 2008 -0700

    blockcheck: Grab the kernel's table-based crc32_le().
    
    The table-based one is probably better - it's exactly what kernelspace
    is using.  Also make ocfs2_hamming_encode() endian correct.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 7f67c9be4ce40153d257b1d1f06070190b296a65
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Aug 26 12:57:37 2008 -0700

    blockcheck: Remove incompat check.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit c58f5b87e8b1e06d6c00744250ff1f19e81578cc
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Aug 25 21:34:18 2008 -0700

    Add blockcheck.[ch]
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

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


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



More information about the Ocfs2-tools-commits mailing list