lkml.org 
[lkml]   [2008]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH]: ext4: fix big endian
    Christian Borntraeger wrote:
    > Ok, I think I found it:
    >
    > On big endianess plattforms newly created ext4 file systems cannot be mounted
    > and show messages like:
    > [6923911.715968] EXT4-fs: not enough memory for 522250 flex groups
    > [6923911.715973] EXT4-fs: unable to initialize flex_bg meta info!
    >
    > We have to access s_reserved_gdb_blocks with le16_to_cpu.
    >
    > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    > ---
    > fs/ext4/super.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > Index: kvm/fs/ext4/super.c
    > ===================================================================
    > --- kvm.orig/fs/ext4/super.c
    > +++ kvm/fs/ext4/super.c
    > @@ -1455,7 +1455,7 @@ static int ext4_fill_flex_info(struct su
    >
    > /* We allocate both existing and potentially added groups */
    > flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) +
    > - ((sbi->s_es->s_reserved_gdt_blocks +1 ) <<
    > + (le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks + 1) <<
    >

    I suspect that you want to do the le16_to_cpu() and _then_
    add the 1. Otherwise, adding 1 to a different byte order
    value won't do quite what is expected or hoped for...

    ps

    > EXT4_DESC_PER_BLOCK_BITS(sb))) /
    > groups_per_flex;
    > sbi->s_flex_groups = kzalloc(flex_group_count *
    > --
    > 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: 2008-11-06 17:11    [W:0.024 / U:58.816 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site