bfind.c (1da177e4c3f41524e886b7f1b8a0c1fc7321cac2) bfind.c (634725a92938b0f282b17cec0b007dca77adebd2)
1/*
2 * linux/fs/hfsplus/bfind.c
3 *
4 * Copyright (C) 2001
5 * Brad Boyer (flar@allandria.com)
6 * (C) 2003 Ardis Technologies <roman@ardistech.com>
7 *
8 * Search routines for btrees

--- 50 unchanged lines hidden (view full) ---

59 res = 0;
60 goto done;
61 }
62 if (cmpval < 0)
63 b = rec + 1;
64 else
65 e = rec - 1;
66 } while (b <= e);
1/*
2 * linux/fs/hfsplus/bfind.c
3 *
4 * Copyright (C) 2001
5 * Brad Boyer (flar@allandria.com)
6 * (C) 2003 Ardis Technologies <roman@ardistech.com>
7 *
8 * Search routines for btrees

--- 50 unchanged lines hidden (view full) ---

59 res = 0;
60 goto done;
61 }
62 if (cmpval < 0)
63 b = rec + 1;
64 else
65 e = rec - 1;
66 } while (b <= e);
67 //printk("%d: %d,%d,%d\n", bnode->this, b, e, rec);
68 if (rec != e && e >= 0) {
69 len = hfs_brec_lenoff(bnode, e, &off);
70 keylen = hfs_brec_keylen(bnode, e);
71 hfs_bnode_read(bnode, fd->key, off, keylen);
72 }
73done:
74 fd->record = e;
75 fd->keyoffset = off;

--- 46 unchanged lines hidden (view full) ---

122 hfs_bnode_read(bnode, &data, fd->entryoffset, 4);
123 nidx = be32_to_cpu(data);
124 hfs_bnode_put(bnode);
125 }
126 fd->bnode = bnode;
127 return res;
128
129invalid:
67 if (rec != e && e >= 0) {
68 len = hfs_brec_lenoff(bnode, e, &off);
69 keylen = hfs_brec_keylen(bnode, e);
70 hfs_bnode_read(bnode, fd->key, off, keylen);
71 }
72done:
73 fd->record = e;
74 fd->keyoffset = off;

--- 46 unchanged lines hidden (view full) ---

121 hfs_bnode_read(bnode, &data, fd->entryoffset, 4);
122 nidx = be32_to_cpu(data);
123 hfs_bnode_put(bnode);
124 }
125 fd->bnode = bnode;
126 return res;
127
128invalid:
130 printk("HFS+-fs: inconsistency in B*Tree (%d,%d,%d,%u,%u)\n",
129 printk(KERN_ERR "hfs: inconsistency in B*Tree (%d,%d,%d,%u,%u)\n",
131 height, bnode->height, bnode->type, nidx, parent);
132 res = -EIO;
133release:
134 hfs_bnode_put(bnode);
135 return res;
136}
137
138int hfs_brec_read(struct hfs_find_data *fd, void *rec, int rec_len)

--- 72 unchanged lines hidden ---
130 height, bnode->height, bnode->type, nidx, parent);
131 res = -EIO;
132release:
133 hfs_bnode_put(bnode);
134 return res;
135}
136
137int hfs_brec_read(struct hfs_find_data *fd, void *rec, int rec_len)

--- 72 unchanged lines hidden ---