summaryrefslogtreecommitdiffstats
path: root/fs/udf/partition.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/udf/partition.c')
-rw-r--r--fs/udf/partition.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/udf/partition.c b/fs/udf/partition.c
index f3e472c67709..b526f25c04c9 100644
--- a/fs/udf/partition.c
+++ b/fs/udf/partition.c
@@ -321,8 +321,14 @@ uint32_t udf_get_pblock_meta25(struct super_block *sb, uint32_t block,
321 /* We shouldn't mount such media... */ 321 /* We shouldn't mount such media... */
322 BUG_ON(!inode); 322 BUG_ON(!inode);
323 retblk = udf_try_read_meta(inode, block, partition, offset); 323 retblk = udf_try_read_meta(inode, block, partition, offset);
324 if (retblk == 0xFFFFFFFF) { 324 if (retblk == 0xFFFFFFFF && mdata->s_metadata_fe) {
325 udf_warn(sb, "error reading from METADATA, trying to read from MIRROR\n"); 325 udf_warn(sb, "error reading from METADATA, trying to read from MIRROR\n");
326 if (!mdata->s_mirror_loaded_flag) {
327 mdata->s_mirror_fe = udf_find_metadata_inode_efe(sb,
328 mdata->s_mirror_file_loc, map->s_partition_num);
329 mdata->s_mirror_loaded_flag = 1;
330 }
331
326 inode = mdata->s_mirror_fe; 332 inode = mdata->s_mirror_fe;
327 if (!inode) 333 if (!inode)
328 return 0xFFFFFFFF; 334 return 0xFFFFFFFF;