git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This commit was manufactured by cvs2svn to create tag
[linux-2.6.git]
/
fs
/
hfs
/
btree.c
diff --git
a/fs/hfs/btree.c
b/fs/hfs/btree.c
index
19f10cf
..
3e620ef
100644
(file)
--- a/
fs/hfs/btree.c
+++ b/
fs/hfs/btree.c
@@
-19,7
+19,7
@@
struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
struct hfs_btree_header_rec *head;
struct address_space *mapping;
struct page *page;
struct hfs_btree_header_rec *head;
struct address_space *mapping;
struct page *page;
- unsigned int size;
+ unsigned int s
hift, s
ize;
tree = kmalloc(sizeof(*tree), GFP_KERNEL);
if (!tree)
tree = kmalloc(sizeof(*tree), GFP_KERNEL);
if (!tree)
@@
-82,7
+82,10
@@
struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
goto fail_page;
if (!tree->node_count)
goto fail_page;
goto fail_page;
if (!tree->node_count)
goto fail_page;
- tree->node_size_shift = ffs(size) - 1;
+ for (shift = 0; size >>= 1; shift += 1)
+ ;
+ tree->node_size_shift = shift;
+
tree->pages_per_bnode = (tree->node_size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
kunmap(page);
tree->pages_per_bnode = (tree->node_size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
kunmap(page);