ext4: Convert ext4_extent_idx.ei_leaf to ext4_extent_idx.ei_leaf_lo

Convert ext4_extent_idx.ei_leaf  ext4_extent_idx.ei_leaf_lo
This helps in finding BUGs due to direct partial access of
these split 48 bit values.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
Aneesh Kumar K.V 2007-10-16 18:38:25 -04:00 committed by Theodore Ts'o
parent b377611d11
commit d8dd0b4543
2 changed files with 3 additions and 3 deletions

View file

@ -65,7 +65,7 @@ static ext4_fsblk_t idx_pblock(struct ext4_extent_idx *ix)
{ {
ext4_fsblk_t block; ext4_fsblk_t block;
block = le32_to_cpu(ix->ei_leaf); block = le32_to_cpu(ix->ei_leaf_lo);
block |= ((ext4_fsblk_t) le16_to_cpu(ix->ei_leaf_hi) << 31) << 1; block |= ((ext4_fsblk_t) le16_to_cpu(ix->ei_leaf_hi) << 31) << 1;
return block; return block;
} }
@ -88,7 +88,7 @@ static void ext4_ext_store_pblock(struct ext4_extent *ex, ext4_fsblk_t pb)
*/ */
static void ext4_idx_store_pblock(struct ext4_extent_idx *ix, ext4_fsblk_t pb) static void ext4_idx_store_pblock(struct ext4_extent_idx *ix, ext4_fsblk_t pb)
{ {
ix->ei_leaf = cpu_to_le32((unsigned long) (pb & 0xffffffff)); ix->ei_leaf_lo = cpu_to_le32((unsigned long) (pb & 0xffffffff));
ix->ei_leaf_hi = cpu_to_le16((unsigned long) ((pb >> 31) >> 1) & 0xffff); ix->ei_leaf_hi = cpu_to_le16((unsigned long) ((pb >> 31) >> 1) & 0xffff);
} }

View file

@ -83,7 +83,7 @@ struct ext4_extent {
*/ */
struct ext4_extent_idx { struct ext4_extent_idx {
__le32 ei_block; /* index covers logical blocks from 'block' */ __le32 ei_block; /* index covers logical blocks from 'block' */
__le32 ei_leaf; /* pointer to the physical block of the next * __le32 ei_leaf_lo; /* pointer to the physical block of the next *
* level. leaf or next index could be there */ * level. leaf or next index could be there */
__le16 ei_leaf_hi; /* high 16 bits of physical block */ __le16 ei_leaf_hi; /* high 16 bits of physical block */
__u16 ei_unused; __u16 ei_unused;