Messages in this thread | | | Date | Sun, 12 Dec 1999 01:15:27 -0500 (EST) | From | Michael Nelson <> | Subject | Re: fs/ext2/balloc.c question |
| |
Note how there are 2 underlines after load... there is both a load_block_bitmap and a load__block_bitmap function in balloc.c
-mike
On Sat, 11 Dec 1999 afei@jhu.edu wrote:
> > I do not quite understand how this function works. Check out line:232. It > looks to me like an infinite lookp. > > Fei > > 205 static inline int load_block_bitmap (struct super_block * sb, > 206 unsigned int block_group) > 207 { > 208 int slot; > 209 > 210 /* > 211 * Do the lookup for the slot. First of all, check if we're > asking > 212 * for the same slot as last time, and did we succeed that > last time? > 213 */ > 214 if (sb->u.ext2_sb.s_loaded_block_bitmaps > 0 && > 215 sb->u.ext2_sb.s_block_bitmap_number[0] == block_group && > 216 sb->u.ext2_sb.s_block_bitmap[block_group]) { > 217 return 0; > 218 } > 219 /* > 220 * Or can we do a fast lookup based on a loaded group on a > filesystem > 221 * small enough to be mapped directly into the superblock? > 222 */ > 223 else if (sb->u.ext2_sb.s_groups_count <= EXT2_MAX_GROUP_LOADED > && > 224 sb->u.ext2_sb.s_block_bitmap_number[block_group] == > block_group && > 225 sb->u.ext2_sb.s_block_bitmap[block_group]) { > 226 slot = block_group; > 227 } > 228 /* > 229 * If not, then do a full lookup for this block group. > 230 */ > 231 else { > 232 slot = load__block_bitmap (sb, block_group); > 233 } > 234 > 235 /* > 236 * <0 means we just got an error > 237 */ > 238 if (slot < 0) > 239 return slot; > 240 > 241 /* > 242 * If it's a valid slot, we may still have cached a previous > IO error, > 243 * in which case the bh in the superblock cache will be zero. > 244 */ > 245 if (!sb->u.ext2_sb.s_block_bitmap[slot]) > 246 return -EIO; > 247 > 248 /* > 249 * Must have been read in OK to get this far. > 250 */ > 251 return slot; > 252 } > > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.rutgers.edu > Please read the FAQ at http://www.tux.org/lkml/ >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |