On Mon, Sep 13, 2010 at 02:09:53PM +0800, Tao Ma wrote:
> e_leaf_clusters is a le16, so use cpu_to_le16 instead
> of cpu_to_le32.
> 
> Signed-off-by: Tao Ma <[email protected]>

        You're right that we need to swap as an le16.

> @@ -348,7 +348,7 @@ static void ocfs2_bg_discontig_add_extent(struct 
> ocfs2_super *osb,
>       rec->e_blkno = cpu_to_le64(p_blkno);
>       rec->e_cpos = cpu_to_le32(le16_to_cpu(bg->bg_bits) /
>                                 le16_to_cpu(cl->cl_bpc));
> -     rec->e_leaf_clusters = cpu_to_le32(clusters);
> +     rec->e_leaf_clusters = cpu_to_le16(clusters);

        For a second I was worried, "what about overflow if clusters >
16bits?"  Of course, this is coming from discontig stuff which starts at
cpg, so it can't overflow.  Maybe discontig_add_extent should take
"unsigned int clusters" instead of "u32 clusters" to signify that the
size of 'clusters isn't important here?

Joel

-- 

"Friends may come and go, but enemies accumulate." 
        - Thomas Jones

Joel Becker
Consulting Software Developer
Oracle
E-mail: [email protected]
Phone: (650) 506-8127

_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to