aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/udf/super.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c
index bb8d866deb3f..137153c5005b 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -1425,7 +1425,7 @@ static noinline int udf_process_sequence(struct super_block *sb, long block,
1425static int udf_check_valid(struct super_block *sb, int novrs, int silent) 1425static int udf_check_valid(struct super_block *sb, int novrs, int silent)
1426{ 1426{
1427 long block; 1427 long block;
1428 struct udf_sb_info *sbi; 1428 struct udf_sb_info *sbi = UDF_SB(sb);
1429 1429
1430 if (novrs) { 1430 if (novrs) {
1431 udf_debug("Validity check skipped because of novrs option\n"); 1431 udf_debug("Validity check skipped because of novrs option\n");
@@ -1434,15 +1434,12 @@ static int udf_check_valid(struct super_block *sb, int novrs, int silent)
1434 /* Check that it is NSR02 compliant */ 1434 /* Check that it is NSR02 compliant */
1435 /* Process any "CD-ROM Volume Descriptor Set" (ECMA 167 2/8.3.1) */ 1435 /* Process any "CD-ROM Volume Descriptor Set" (ECMA 167 2/8.3.1) */
1436 block = udf_vrs(sb, silent); 1436 block = udf_vrs(sb, silent);
1437 if (block != -1) 1437 if (block == -1)
1438 return !block; 1438 udf_debug("Failed to read byte 32768. Assuming open "
1439 1439 "disc. Skipping validity check\n");
1440 sbi = UDF_SB(sb); 1440 if (block && !sbi->s_last_block)
1441 udf_debug("Failed to read byte 32768. Assuming open "
1442 "disc. Skipping validity check\n");
1443 if (!sbi->s_last_block)
1444 sbi->s_last_block = udf_get_last_block(sb); 1441 sbi->s_last_block = udf_get_last_block(sb);
1445 return 0; 1442 return !block;
1446} 1443}
1447 1444
1448static int udf_load_partition(struct super_block *sb, kernel_lb_addr *fileset) 1445static int udf_load_partition(struct super_block *sb, kernel_lb_addr *fileset)