lkml.org 
[lkml]   [2007]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[EXT4 set 9][PATCH 5/5]Extent micro cleanups
    From
    Date
    From: Dmitry Monakhov <dmonakhov@sw.ru>
    Subject: ext4: extent macros cleanup

    - Replace math equation to it's macro equivalent
    - make ext4_ext_grow_indepth() indexes/leaf correct

    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Acked-by: Alex Tomas <alex@clusterfs.com>
    Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
    ---
    fs/ext4/extents.c | 11 +++++++----
    1 files changed, 7 insertions(+), 4 deletions(-)

    diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
    index 12fe3d7..1fd00ac 100644
    --- a/fs/ext4/extents.c
    +++ b/fs/ext4/extents.c
    @@ -375,7 +375,7 @@ ext4_ext_binsearch_idx(struct inode *inode, struct ext4_ext_path *path, int bloc
    ext_debug("binsearch for %d(idx): ", block);

    l = EXT_FIRST_INDEX(eh) + 1;
    - r = EXT_FIRST_INDEX(eh) + le16_to_cpu(eh->eh_entries) - 1;
    + r = EXT_LAST_INDEX(eh);
    while (l <= r) {
    m = l + (r - l) / 2;
    if (block < le32_to_cpu(m->ei_block))
    @@ -440,7 +440,7 @@ ext4_ext_binsearch(struct inode *inode, struct ext4_ext_path *path, int block)
    ext_debug("binsearch for %d: ", block);

    l = EXT_FIRST_EXTENT(eh) + 1;
    - r = EXT_FIRST_EXTENT(eh) + le16_to_cpu(eh->eh_entries) - 1;
    + r = EXT_LAST_EXTENT(eh);

    while (l <= r) {
    m = l + (r - l) / 2;
    @@ -922,8 +922,11 @@ static int ext4_ext_grow_indepth(handle_t *handle, struct inode *inode,
    curp->p_hdr->eh_max = cpu_to_le16(ext4_ext_space_root_idx(inode));
    curp->p_hdr->eh_entries = cpu_to_le16(1);
    curp->p_idx = EXT_FIRST_INDEX(curp->p_hdr);
    - /* FIXME: it works, but actually path[0] can be index */
    - curp->p_idx->ei_block = EXT_FIRST_EXTENT(path[0].p_hdr)->ee_block;
    +
    + if (path[0].p_hdr->eh_depth)
    + curp->p_idx->ei_block = EXT_FIRST_INDEX(path[0].p_hdr)->ei_block;
    + else
    + curp->p_idx->ei_block = EXT_FIRST_EXTENT(path[0].p_hdr)->ee_block;
    ext4_idx_store_pblock(curp->p_idx, newblock);

    neh = ext_inode_hdr(inode);

    -
    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: 2007-07-01 09:47    [W:0.033 / U:0.300 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site