Lines Matching defs:bh
42 struct buffer_head *bh,
45 return ((loff_t)bh->b_blocknr << MSDOS_SB(sb)->dir_per_block_bits)
46 | (de - (struct msdos_dir_entry *)bh->b_data);
54 struct buffer_head *bh;
64 bh = sb_find_get_block(sb, phys);
65 if (bh == NULL || !buffer_uptodate(bh)) {
69 brelse(bh);
72 /* Returns the inode number of the directory entry at offset pos. If bh is
74 returned in bh.
76 AV. OK, there we go: if both bh and de are non-NULL we assume that we just
80 AV. we make bh NULL.
83 struct buffer_head **bh, struct msdos_dir_entry **de)
91 brelse(*bh);
92 *bh = NULL;
100 *bh = sb_bread(sb, phys);
101 if (*bh == NULL) {
111 *de = (struct msdos_dir_entry *)((*bh)->b_data + offset);
117 struct buffer_head **bh,
121 if (*bh && *de &&
122 (*de - (struct msdos_dir_entry *)(*bh)->b_data) <
128 return fat__get_entry(dir, pos, bh, de);
275 * @bh: Pointer to the buffer head that may be used for reading directory
292 struct buffer_head **bh, struct msdos_dir_entry **de,
301 brelse(*bh);
328 if (fat_get_entry(dir, pos, bh, de) < 0)
480 struct buffer_head *bh = NULL;
490 if (fat_get_entry(inode, &cpos, &bh, &de) == -1)
501 int status = fat_parse_long(inode, &cpos, &bh, &de,
543 sinfo->bh = bh;
544 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
571 struct buffer_head *bh;
600 bh = NULL;
602 if (fat_get_entry(inode, &cpos, &bh, &de) == -1)
623 int status = fat_parse_long(inode, &cpos, &bh, &de,
626 bh = NULL;
682 loff_t i_pos = fat_make_i_pos(sb, bh, de);
705 brelse(bh);
882 struct buffer_head **bh,
885 while (fat_get_entry(dir, pos, bh, de) >= 0) {
902 int fat_get_dotdot_entry(struct inode *dir, struct buffer_head **bh,
908 while (fat_get_short_entry(dir, &offset, bh, de) >= 0) {
919 struct buffer_head *bh;
924 bh = NULL;
926 while (fat_get_short_entry(dir, &cpos, &bh, &de) >= 0) {
933 brelse(bh);
944 struct buffer_head *bh;
949 bh = NULL;
951 while (fat_get_short_entry(dir, &cpos, &bh, &de) >= 0) {
955 brelse(bh);
969 sinfo->bh = NULL;
970 while (fat_get_short_entry(dir, &sinfo->slot_off, &sinfo->bh,
975 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
993 sinfo->bh = NULL;
994 while (fat_get_short_entry(dir, &sinfo->slot_off, &sinfo->bh,
999 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
1009 struct buffer_head *bh;
1014 bh = NULL;
1015 if (fat_get_entry(dir, &pos, &bh, &de) < 0) {
1021 endp = (struct msdos_dir_entry *)(bh->b_data + sb->s_blocksize);
1027 mark_buffer_dirty_inode(bh, dir);
1029 err = sync_dirty_buffer(bh);
1030 brelse(bh);
1045 struct buffer_head *bh;
1055 bh = sinfo->bh;
1056 sinfo->bh = NULL;
1057 while (nr_slots && de >= (struct msdos_dir_entry *)bh->b_data) {
1062 mark_buffer_dirty_inode(bh, dir);
1064 err = sync_dirty_buffer(bh);
1065 brelse(bh);
1212 struct buffer_head **bh, loff_t *i_pos)
1270 *bh = bhs[n];
1271 *de = (struct msdos_dir_entry *)((*bh)->b_data + offset);
1272 *i_pos = fat_make_i_pos(sb, *bh, *de);
1282 brelse(*bh);
1283 *bh = NULL;
1298 struct buffer_head *bh, *prev, *bhs[3]; /* 32*slots (672bytes) */
1307 bh = prev = NULL;
1310 while (fat_get_entry(dir, &pos, &bh, &de) > -1) {
1316 if (prev != bh) {
1317 get_bh(bh);
1318 bhs[nr_bhs] = prev = bh;
1389 &de, &bh, &i_pos);
1409 sinfo->bh = bh;
1410 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
1415 brelse(bh);
1421 brelse(bh);