|
@@ -208,7 +208,9 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree)
|
|
struct hfs_bnode *node, *next_node;
|
|
struct hfs_bnode *node, *next_node;
|
|
struct page **pagep;
|
|
struct page **pagep;
|
|
u32 nidx, idx;
|
|
u32 nidx, idx;
|
|
- u16 off, len;
|
|
|
|
|
|
+ unsigned off;
|
|
|
|
+ u16 off16;
|
|
|
|
+ u16 len;
|
|
u8 *data, byte, m;
|
|
u8 *data, byte, m;
|
|
int i;
|
|
int i;
|
|
|
|
|
|
@@ -235,7 +237,8 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree)
|
|
node = hfs_bnode_find(tree, nidx);
|
|
node = hfs_bnode_find(tree, nidx);
|
|
if (IS_ERR(node))
|
|
if (IS_ERR(node))
|
|
return node;
|
|
return node;
|
|
- len = hfs_brec_lenoff(node, 2, &off);
|
|
|
|
|
|
+ len = hfs_brec_lenoff(node, 2, &off16);
|
|
|
|
+ off = off16;
|
|
|
|
|
|
off += node->page_offset;
|
|
off += node->page_offset;
|
|
pagep = node->page + (off >> PAGE_CACHE_SHIFT);
|
|
pagep = node->page + (off >> PAGE_CACHE_SHIFT);
|
|
@@ -280,7 +283,8 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree)
|
|
return next_node;
|
|
return next_node;
|
|
node = next_node;
|
|
node = next_node;
|
|
|
|
|
|
- len = hfs_brec_lenoff(node, 0, &off);
|
|
|
|
|
|
+ len = hfs_brec_lenoff(node, 0, &off16);
|
|
|
|
+ off = off16;
|
|
off += node->page_offset;
|
|
off += node->page_offset;
|
|
pagep = node->page + (off >> PAGE_CACHE_SHIFT);
|
|
pagep = node->page + (off >> PAGE_CACHE_SHIFT);
|
|
data = kmap(*pagep);
|
|
data = kmap(*pagep);
|