提交 d8dd0b45 编写于 作者: A Aneesh Kumar K.V 提交者: Theodore Ts'o

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: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
上级 b377611d
...@@ -65,7 +65,7 @@ static ext4_fsblk_t idx_pblock(struct ext4_extent_idx *ix) ...@@ -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) ...@@ -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);
} }
......
...@@ -83,7 +83,7 @@ struct ext4_extent { ...@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册