26 #include <linux/string.h>
36 udf_debug(
"block=%d, partition=%d, offset=%d: invalid partition\n",
37 block, partition, offset);
50 struct buffer_head *bh =
NULL;
63 udf_debug(
"Trying to access block beyond end of VAT (%d max %d)\n",
85 bh = sb_bread(sb, loc);
87 udf_debug(
"get_pblock(UDF_VIRTUAL_MAP:%p,%d,%d) VAT: %d[%d]\n",
88 sb, block, partition, loc, index);
97 if (iinfo->
i_location.partitionReferenceNum == partition) {
98 udf_debug(
"recursive call to udf_get_pblock!\n");
127 for (i = 0; i < 4; i++) {
139 if (origLoc >= 0xFFFFFFF0)
141 else if (origLoc == packet)
145 else if (origLoc > packet)
162 struct buffer_head *bh;
174 for (j = 0; j < 4; j++)
186 reallocationTableLen =
192 if (origLoc == 0xFFFFFFFF) {
205 reallocationTableLen *
217 }
else if (origLoc == packet) {
225 }
else if (origLoc > packet)
233 if (origLoc != 0xFFFFFFFF)
252 reallocationTableLen *
292 if (
inode_bmap(inode, block, &epos, &eloc, &elen, &ext_offset) !=
294 phyblock = 0xFFFFFFFF;
296 map = &UDF_SB(sb)->s_partmaps[partition];
323 retblk = udf_try_read_meta(inode, block, partition, offset);
325 udf_warn(sb,
"error reading from METADATA, trying to read from MIRROR\n");
335 retblk = udf_try_read_meta(inode, block, partition, offset);