Lines Matching refs:fibh

44 		 struct fileIdentDesc *sfi, struct udf_fileident_bh *fibh,  in udf_write_fi()  argument
47 uint16_t crclen = fibh->eoffset - fibh->soffset - sizeof(struct tag); in udf_write_fi()
52 int padlen = fibh->eoffset - fibh->soffset - liu - lfi - in udf_write_fi()
59 offset = fibh->soffset + sizeof(struct fileIdentDesc); in udf_write_fi()
65 memcpy(fibh->ebh->b_data + offset, impuse, liu); in udf_write_fi()
68 memcpy(fibh->ebh->b_data, impuse - offset, in udf_write_fi()
79 memcpy(fibh->ebh->b_data + offset, fileident, lfi); in udf_write_fi()
82 memcpy(fibh->ebh->b_data, fileident - offset, in udf_write_fi()
92 memset(fibh->ebh->b_data + offset, 0x00, padlen); in udf_write_fi()
95 memset(fibh->ebh->b_data, 0x00, padlen + offset); in udf_write_fi()
101 if (fibh->sbh == fibh->ebh) { in udf_write_fi()
105 } else if (sizeof(struct fileIdentDesc) >= -fibh->soffset) { in udf_write_fi()
106 crc = crc_itu_t(crc, fibh->ebh->b_data + in udf_write_fi()
108 fibh->soffset, in udf_write_fi()
113 -fibh->soffset - sizeof(struct fileIdentDesc)); in udf_write_fi()
114 crc = crc_itu_t(crc, fibh->ebh->b_data, fibh->eoffset); in udf_write_fi()
121 if (adinicb || (sizeof(struct fileIdentDesc) <= -fibh->soffset)) { in udf_write_fi()
125 memcpy((uint8_t *)sfi, (uint8_t *)cfi, -fibh->soffset); in udf_write_fi()
126 memcpy(fibh->ebh->b_data, (uint8_t *)cfi - fibh->soffset, in udf_write_fi()
127 sizeof(struct fileIdentDesc) + fibh->soffset); in udf_write_fi()
133 if (fibh->sbh != fibh->ebh) in udf_write_fi()
134 mark_buffer_dirty_inode(fibh->ebh, inode); in udf_write_fi()
135 mark_buffer_dirty_inode(fibh->sbh, inode); in udf_write_fi()
161 struct udf_fileident_bh *fibh, in udf_find_entry() argument
185 fibh->sbh = fibh->ebh = NULL; in udf_find_entry()
186 fibh->soffset = fibh->eoffset = f_pos & (sb->s_blocksize - 1); in udf_find_entry()
203 fibh->sbh = fibh->ebh = udf_tread(sb, block); in udf_find_entry()
204 if (!fibh->sbh) { in udf_find_entry()
217 fi = udf_fileident_read(dir, &f_pos, fibh, cfi, &epos, &eloc, in udf_find_entry()
227 if (fibh->sbh == fibh->ebh) { in udf_find_entry()
232 poffset = fibh->soffset + sizeof(struct fileIdentDesc) + in udf_find_entry()
236 nameptr = (uint8_t *)(fibh->ebh->b_data + in udf_find_entry()
251 fibh->ebh->b_data, poffset); in udf_find_entry()
284 if (fibh->sbh != fibh->ebh) in udf_find_entry()
285 brelse(fibh->ebh); in udf_find_entry()
286 brelse(fibh->sbh); in udf_find_entry()
300 struct udf_fileident_bh fibh; in udf_lookup() local
306 fi = udf_find_entry(dir, &dentry->d_name, &fibh, &cfi); in udf_lookup()
313 if (fibh.sbh != fibh.ebh) in udf_lookup()
314 brelse(fibh.ebh); in udf_lookup()
315 brelse(fibh.sbh); in udf_lookup()
328 struct udf_fileident_bh *fibh, in udf_add_entry() argument
345 fibh->sbh = fibh->ebh = NULL; in udf_add_entry()
372 fibh->soffset = fibh->eoffset = f_pos & (dir->i_sb->s_blocksize - 1); in udf_add_entry()
379 fibh->soffset = fibh->eoffset = sb->s_blocksize; in udf_add_entry()
391 fibh->sbh = fibh->ebh = udf_tread(dir->i_sb, block); in udf_add_entry()
392 if (!fibh->sbh) { in udf_add_entry()
401 fi = udf_fileident_read(dir, &f_pos, fibh, cfi, &epos, &eloc, in udf_add_entry()
416 if (!udf_write_fi(dir, cfi, fi, fibh, NULL, in udf_add_entry()
431 sb->s_blocksize - fibh->eoffset < nfidlen) { in udf_add_entry()
434 fibh->soffset -= udf_ext0_offset(dir); in udf_add_entry()
435 fibh->eoffset -= udf_ext0_offset(dir); in udf_add_entry()
437 if (fibh->sbh != fibh->ebh) in udf_add_entry()
438 brelse(fibh->ebh); in udf_add_entry()
439 brelse(fibh->sbh); in udf_add_entry()
440 fibh->sbh = fibh->ebh = in udf_add_entry()
442 if (!fibh->sbh) in udf_add_entry()
451 if (sb->s_blocksize - fibh->eoffset >= nfidlen) { in udf_add_entry()
452 fibh->soffset = fibh->eoffset; in udf_add_entry()
453 fibh->eoffset += nfidlen; in udf_add_entry()
454 if (fibh->sbh != fibh->ebh) { in udf_add_entry()
455 brelse(fibh->sbh); in udf_add_entry()
456 fibh->sbh = fibh->ebh; in udf_add_entry()
462 (dinfo->i_data + fibh->soffset - in udf_add_entry()
470 (fibh->sbh->b_data + fibh->soffset); in udf_add_entry()
483 fibh->soffset = fibh->eoffset - sb->s_blocksize; in udf_add_entry()
484 fibh->eoffset += nfidlen - sb->s_blocksize; in udf_add_entry()
485 if (fibh->sbh != fibh->ebh) { in udf_add_entry()
486 brelse(fibh->sbh); in udf_add_entry()
487 fibh->sbh = fibh->ebh; in udf_add_entry()
492 fibh->ebh = udf_bread(dir, in udf_add_entry()
494 if (!fibh->ebh) in udf_add_entry()
502 if (!fibh->soffset) { in udf_add_entry()
509 brelse(fibh->sbh); in udf_add_entry()
510 fibh->sbh = fibh->ebh; in udf_add_entry()
511 fi = (struct fileIdentDesc *)(fibh->sbh->b_data); in udf_add_entry()
514 (fibh->sbh->b_data + sb->s_blocksize + in udf_add_entry()
515 fibh->soffset); in udf_add_entry()
529 if (!udf_write_fi(dir, cfi, fi, fibh, NULL, name)) { in udf_add_entry()
556 if (fibh->sbh != fibh->ebh) in udf_add_entry()
557 brelse(fibh->ebh); in udf_add_entry()
558 brelse(fibh->sbh); in udf_add_entry()
566 struct udf_fileident_bh *fibh, in udf_delete_entry() argument
574 return udf_write_fi(inode, cfi, fi, fibh, NULL, NULL); in udf_delete_entry()
581 struct udf_fileident_bh fibh; in udf_add_nondir() local
585 fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err); in udf_add_nondir()
595 udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL); in udf_add_nondir()
598 if (fibh.sbh != fibh.ebh) in udf_add_nondir()
599 brelse(fibh.ebh); in udf_add_nondir()
600 brelse(fibh.sbh); in udf_add_nondir()
665 struct udf_fileident_bh fibh; in udf_mkdir() local
678 fi = udf_add_entry(inode, NULL, &fibh, &cfi, &err); in udf_mkdir()
691 udf_write_fi(inode, &cfi, fi, &fibh, NULL, NULL); in udf_mkdir()
692 brelse(fibh.sbh); in udf_mkdir()
695 fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err); in udf_mkdir()
707 udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL); in udf_mkdir()
712 if (fibh.sbh != fibh.ebh) in udf_mkdir()
713 brelse(fibh.ebh); in udf_mkdir()
714 brelse(fibh.sbh); in udf_mkdir()
724 struct udf_fileident_bh fibh; in empty_dir() local
735 fibh.soffset = fibh.eoffset = f_pos & (dir->i_sb->s_blocksize - 1); in empty_dir()
738 fibh.sbh = fibh.ebh = NULL; in empty_dir()
751 fibh.sbh = fibh.ebh = udf_tread(dir->i_sb, block); in empty_dir()
752 if (!fibh.sbh) { in empty_dir()
762 fi = udf_fileident_read(dir, &f_pos, &fibh, &cfi, &epos, &eloc, in empty_dir()
765 if (fibh.sbh != fibh.ebh) in empty_dir()
766 brelse(fibh.ebh); in empty_dir()
767 brelse(fibh.sbh); in empty_dir()
774 if (fibh.sbh != fibh.ebh) in empty_dir()
775 brelse(fibh.ebh); in empty_dir()
776 brelse(fibh.sbh); in empty_dir()
782 if (fibh.sbh != fibh.ebh) in empty_dir()
783 brelse(fibh.ebh); in empty_dir()
784 brelse(fibh.sbh); in empty_dir()
794 struct udf_fileident_bh fibh; in udf_rmdir() local
799 fi = udf_find_entry(dir, &dentry->d_name, &fibh, &cfi); in udf_rmdir()
813 retval = udf_delete_entry(dir, fi, &fibh, &cfi); in udf_rmdir()
827 if (fibh.sbh != fibh.ebh) in udf_rmdir()
828 brelse(fibh.ebh); in udf_rmdir()
829 brelse(fibh.sbh); in udf_rmdir()
839 struct udf_fileident_bh fibh; in udf_unlink() local
845 fi = udf_find_entry(dir, &dentry->d_name, &fibh, &cfi); in udf_unlink()
863 retval = udf_delete_entry(dir, fi, &fibh, &cfi); in udf_unlink()
873 if (fibh.sbh != fibh.ebh) in udf_unlink()
874 brelse(fibh.ebh); in udf_unlink()
875 brelse(fibh.sbh); in udf_unlink()
1038 struct udf_fileident_bh fibh; in udf_link() local
1042 fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err); in udf_link()
1052 udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL); in udf_link()
1056 if (fibh.sbh != fibh.ebh) in udf_link()
1057 brelse(fibh.ebh); in udf_link()
1058 brelse(fibh.sbh); in udf_link()
1222 struct udf_fileident_bh fibh; in udf_get_parent() local
1224 if (!udf_find_entry(d_inode(child), &dotdot_name, &fibh, &cfi)) in udf_get_parent()
1227 if (fibh.sbh != fibh.ebh) in udf_get_parent()
1228 brelse(fibh.ebh); in udf_get_parent()
1229 brelse(fibh.sbh); in udf_get_parent()