lkml.org 
[lkml]   [2011]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[34-longterm 194/247] ext3: Always set dx_node's fake_dirent explicitly.
    Date
    From: Eric Sandeen <sandeen@redhat.com>

    -------------------
    This is a commit scheduled for the next v2.6.34 longterm release.
    If you see a problem with using this for longterm, please comment.
    -------------------

    commit d7433142b63d727b5a217c37b1a1468b116a9771 upstream.

    (crossport of 1f7bebb9e911d870fa8f997ddff838e82b5715ea
    by Andreas Schlick <schlick@lavabit.com>)

    When ext3_dx_add_entry() has to split an index node, it has to ensure that
    name_len of dx_node's fake_dirent is also zero, because otherwise e2fsck
    won't recognise it as an intermediate htree node and consider the htree to
    be corrupted.

    Signed-off-by: Eric Sandeen <sandeen@redhat.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    ---
    fs/ext3/namei.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c
    index ee18408..827b573 100644
    --- a/fs/ext3/namei.c
    +++ b/fs/ext3/namei.c
    @@ -1550,8 +1550,8 @@ static int ext3_dx_add_entry(handle_t *handle, struct dentry *dentry,
    goto cleanup;
    node2 = (struct dx_node *)(bh2->b_data);
    entries2 = node2->entries;
    + memset(&node2->fake, 0, sizeof(struct fake_dirent));
    node2->fake.rec_len = ext3_rec_len_to_disk(sb->s_blocksize);
    - node2->fake.inode = 0;
    BUFFER_TRACE(frame->bh, "get_write_access");
    err = ext3_journal_get_write_access(handle, frame->bh);
    if (err)
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-06-23 19:53    [W:5.280 / U:0.684 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site