Lines Matching refs:epos
74 brelse(iinfo->cached_extent.epos.bh); in __udf_clear_extent_cache()
101 memcpy(pos, &iinfo->cached_extent.epos, in udf_read_extent_cache()
122 memcpy(&iinfo->cached_extent.epos, pos, in udf_update_extent_cache()
128 iinfo->cached_extent.epos.offset -= in udf_update_extent_cache()
132 iinfo->cached_extent.epos.offset -= in udf_update_extent_cache()
335 struct extent_position epos; in udf_expand_dir_adinicb() local
409 epos.bh = NULL; in udf_expand_dir_adinicb()
410 epos.block = iinfo->i_location; in udf_expand_dir_adinicb()
411 epos.offset = udf_file_entry_alloc_offset(inode); in udf_expand_dir_adinicb()
412 udf_add_aext(inode, &epos, &eloc, inode->i_size, 0); in udf_expand_dir_adinicb()
415 brelse(epos.bh); in udf_expand_dir_adinicb()
602 struct extent_position epos; in udf_extend_file() local
620 etype = inode_bmap(inode, first_block, &epos, &eloc, &elen, &offset); in udf_extend_file()
633 if ((!epos.bh && epos.offset == udf_file_entry_alloc_offset(inode)) || in udf_extend_file()
634 (epos.bh && epos.offset == sizeof(struct allocExtDesc))) { in udf_extend_file()
641 epos.offset -= adsize; in udf_extend_file()
642 etype = udf_next_aext(inode, &epos, &extent.extLocation, in udf_extend_file()
646 err = udf_do_extend_file(inode, &epos, &extent, offset); in udf_extend_file()
652 brelse(epos.bh); in udf_extend_file()
1155 struct extent_position *epos) in udf_update_extents() argument
1163 udf_delete_aext(inode, *epos, laarr[i].extLocation, in udf_update_extents()
1167 udf_insert_aext(inode, *epos, laarr[i].extLocation, in udf_update_extents()
1169 udf_next_aext(inode, epos, &laarr[i].extLocation, in udf_update_extents()
1176 udf_next_aext(inode, epos, &tmploc, &tmplen, 0); in udf_update_extents()
1177 udf_write_aext(inode, epos, &laarr[i].extLocation, in udf_update_extents()
1874 int udf_add_aext(struct inode *inode, struct extent_position *epos, in udf_add_aext() argument
1884 if (!epos->bh) in udf_add_aext()
1885 ptr = iinfo->i_ext.i_data + epos->offset - in udf_add_aext()
1889 ptr = epos->bh->b_data + epos->offset; in udf_add_aext()
1898 if (epos->offset + (2 * adsize) > inode->i_sb->s_blocksize) { in udf_add_aext()
1902 struct kernel_lb_addr obloc = epos->block; in udf_add_aext()
1904 epos->block.logicalBlockNum = udf_new_block(inode->i_sb, NULL, in udf_add_aext()
1907 if (!epos->block.logicalBlockNum) in udf_add_aext()
1910 &epos->block, in udf_add_aext()
1924 if (epos->offset + adsize > inode->i_sb->s_blocksize) { in udf_add_aext()
1925 loffset = epos->offset; in udf_add_aext()
1930 epos->offset = sizeof(struct allocExtDesc) + adsize; in udf_add_aext()
1932 loffset = epos->offset + adsize; in udf_add_aext()
1935 epos->offset = sizeof(struct allocExtDesc); in udf_add_aext()
1937 if (epos->bh) { in udf_add_aext()
1938 aed = (struct allocExtDesc *)epos->bh->b_data; in udf_add_aext()
1947 epos->block.logicalBlockNum, sizeof(struct tag)); in udf_add_aext()
1950 epos->block.logicalBlockNum, sizeof(struct tag)); in udf_add_aext()
1957 cpu_to_le32(epos->block.logicalBlockNum); in udf_add_aext()
1963 lad->extLocation = cpu_to_lelb(epos->block); in udf_add_aext()
1967 if (epos->bh) { in udf_add_aext()
1970 udf_update_tag(epos->bh->b_data, loffset); in udf_add_aext()
1972 udf_update_tag(epos->bh->b_data, in udf_add_aext()
1974 mark_buffer_dirty_inode(epos->bh, inode); in udf_add_aext()
1975 brelse(epos->bh); in udf_add_aext()
1979 epos->bh = nbh; in udf_add_aext()
1982 udf_write_aext(inode, epos, eloc, elen, inc); in udf_add_aext()
1984 if (!epos->bh) { in udf_add_aext()
1988 aed = (struct allocExtDesc *)epos->bh->b_data; in udf_add_aext()
1992 udf_update_tag(epos->bh->b_data, in udf_add_aext()
1993 epos->offset + (inc ? 0 : adsize)); in udf_add_aext()
1995 udf_update_tag(epos->bh->b_data, in udf_add_aext()
1997 mark_buffer_dirty_inode(epos->bh, inode); in udf_add_aext()
2003 void udf_write_aext(struct inode *inode, struct extent_position *epos, in udf_write_aext() argument
2012 if (!epos->bh) in udf_write_aext()
2013 ptr = iinfo->i_ext.i_data + epos->offset - in udf_write_aext()
2017 ptr = epos->bh->b_data + epos->offset; in udf_write_aext()
2037 if (epos->bh) { in udf_write_aext()
2041 (struct allocExtDesc *)epos->bh->b_data; in udf_write_aext()
2042 udf_update_tag(epos->bh->b_data, in udf_write_aext()
2046 mark_buffer_dirty_inode(epos->bh, inode); in udf_write_aext()
2052 epos->offset += adsize; in udf_write_aext()
2061 int8_t udf_next_aext(struct inode *inode, struct extent_position *epos, in udf_next_aext() argument
2067 while ((etype = udf_current_aext(inode, epos, eloc, elen, inc)) == in udf_next_aext()
2078 epos->block = *eloc; in udf_next_aext()
2079 epos->offset = sizeof(struct allocExtDesc); in udf_next_aext()
2080 brelse(epos->bh); in udf_next_aext()
2081 block = udf_get_lb_pblock(inode->i_sb, &epos->block, 0); in udf_next_aext()
2082 epos->bh = udf_tread(inode->i_sb, block); in udf_next_aext()
2083 if (!epos->bh) { in udf_next_aext()
2092 int8_t udf_current_aext(struct inode *inode, struct extent_position *epos, in udf_current_aext() argument
2102 if (!epos->bh) { in udf_current_aext()
2103 if (!epos->offset) in udf_current_aext()
2104 epos->offset = udf_file_entry_alloc_offset(inode); in udf_current_aext()
2105 ptr = iinfo->i_ext.i_data + epos->offset - in udf_current_aext()
2111 if (!epos->offset) in udf_current_aext()
2112 epos->offset = sizeof(struct allocExtDesc); in udf_current_aext()
2113 ptr = epos->bh->b_data + epos->offset; in udf_current_aext()
2115 le32_to_cpu(((struct allocExtDesc *)epos->bh->b_data)-> in udf_current_aext()
2121 sad = udf_get_fileshortad(ptr, alen, &epos->offset, inc); in udf_current_aext()
2131 lad = udf_get_filelongad(ptr, alen, &epos->offset, inc); in udf_current_aext()
2146 static int8_t udf_insert_aext(struct inode *inode, struct extent_position epos, in udf_insert_aext() argument
2153 if (epos.bh) in udf_insert_aext()
2154 get_bh(epos.bh); in udf_insert_aext()
2156 while ((etype = udf_next_aext(inode, &epos, &oeloc, &oelen, 0)) != -1) { in udf_insert_aext()
2157 udf_write_aext(inode, &epos, &neloc, nelen, 1); in udf_insert_aext()
2161 udf_add_aext(inode, &epos, &neloc, nelen, 1); in udf_insert_aext()
2162 brelse(epos.bh); in udf_insert_aext()
2167 int8_t udf_delete_aext(struct inode *inode, struct extent_position epos, in udf_delete_aext() argument
2176 if (epos.bh) { in udf_delete_aext()
2177 get_bh(epos.bh); in udf_delete_aext()
2178 get_bh(epos.bh); in udf_delete_aext()
2189 oepos = epos; in udf_delete_aext()
2190 if (udf_next_aext(inode, &epos, &eloc, &elen, 1) == -1) in udf_delete_aext()
2193 while ((etype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { in udf_delete_aext()
2195 if (oepos.bh != epos.bh) { in udf_delete_aext()
2196 oepos.block = epos.block; in udf_delete_aext()
2198 get_bh(epos.bh); in udf_delete_aext()
2199 oepos.bh = epos.bh; in udf_delete_aext()
2200 oepos.offset = epos.offset - adsize; in udf_delete_aext()
2206 if (epos.bh != oepos.bh) { in udf_delete_aext()
2207 udf_free_blocks(inode->i_sb, inode, &epos.block, 0, 1); in udf_delete_aext()
2236 epos.offset - adsize); in udf_delete_aext()
2244 brelse(epos.bh); in udf_delete_aext()
2288 struct extent_position epos = {}; in udf_block_map() local
2293 if (inode_bmap(inode, block, &epos, &eloc, &elen, &offset) == in udf_block_map()
2300 brelse(epos.bh); in udf_block_map()