Lines Matching +full:block +full:- +full:offset

1 // SPDX-License-Identifier: GPL-2.0
7 * (C) 1991 Linus Torvalds - minix filesystem
24 if (likely(!dentry->d_op)) in isofs_cmp()
25 return dentry->d_name.len != dlen || memcmp(dentry->d_name.name, compare, dlen); in isofs_cmp()
26 return dentry->d_op->d_compare(NULL, dentry->d_name.len, dentry->d_name.name, &qstr); in isofs_cmp()
42 unsigned long block, f_pos, offset, block_saved, offset_saved; in isofs_find_entry() local
44 struct isofs_sb_info *sbi = ISOFS_SB(dir->i_sb); in isofs_find_entry()
46 if (!ISOFS_I(dir)->i_first_extent) in isofs_find_entry()
50 offset = 0; in isofs_find_entry()
51 block = 0; in isofs_find_entry()
53 while (f_pos < dir->i_size) { in isofs_find_entry()
59 bh = isofs_bread(dir, block); in isofs_find_entry()
64 de = (struct iso_directory_record *) (bh->b_data + offset); in isofs_find_entry()
70 f_pos = (f_pos + ISOFS_BLOCK_SIZE) & ~(ISOFS_BLOCK_SIZE - 1); in isofs_find_entry()
71 block = f_pos >> bufbits; in isofs_find_entry()
72 offset = 0; in isofs_find_entry()
76 block_saved = bh->b_blocknr; in isofs_find_entry()
77 offset_saved = offset; in isofs_find_entry()
78 offset += de_len; in isofs_find_entry()
82 if (offset >= bufsize) { in isofs_find_entry()
83 int slop = bufsize - offset + de_len; in isofs_find_entry()
85 offset &= bufsize - 1; in isofs_find_entry()
86 block++; in isofs_find_entry()
89 if (offset) { in isofs_find_entry()
90 bh = isofs_bread(dir, block); in isofs_find_entry()
93 memcpy((void *) tmpde + slop, bh->b_data, offset); in isofs_find_entry()
98 dlen = de->name_len[0]; in isofs_find_entry()
99 dpnt = de->name; in isofs_find_entry()
103 " in block %lu of inode %lu\n", block, in isofs_find_entry()
104 dir->i_ino); in isofs_find_entry()
109 if (sbi->s_rock && in isofs_find_entry()
111 dlen = i; /* possibly -1 */ in isofs_find_entry()
114 } else if (sbi->s_joliet_level) { in isofs_find_entry()
118 } else if (sbi->s_mapping == 'a') { in isofs_find_entry()
121 } else if (sbi->s_mapping == 'n') { in isofs_find_entry()
132 (!sbi->s_hide || in isofs_find_entry()
133 (!(de->flags[-sbi->s_high_sierra] & 1))) && in isofs_find_entry()
134 (sbi->s_showassoc || in isofs_find_entry()
135 (!(de->flags[-sbi->s_high_sierra] & 4)))) { in isofs_find_entry()
156 unsigned long block; in isofs_lookup() local
157 unsigned long offset; in isofs_lookup() local
163 return ERR_PTR(-ENOMEM); in isofs_lookup()
166 &block, &offset, in isofs_lookup()
171 inode = found ? isofs_iget(dir->i_sb, block, offset) : NULL; in isofs_lookup()