Loading fs/udf/super.c +13 −8 Original line number Diff line number Diff line Loading @@ -731,13 +731,18 @@ static sector_t udf_scan_anchors(struct super_block *sb, sector_t lastblock) sector_t last[6]; int i; struct udf_sb_info *sbi = UDF_SB(sb); last[0] = lastblock; last[1] = last[0] - 1; last[2] = last[0] + 1; last[3] = last[0] - 2; last[4] = last[0] - 150; last[5] = last[0] - 152; int last_count = 0; last[last_count++] = lastblock; if (lastblock >= 1) last[last_count++] = lastblock - 1; last[last_count++] = lastblock + 1; if (lastblock >= 2) last[last_count++] = lastblock - 2; if (lastblock >= 150) last[last_count++] = lastblock - 150; if (lastblock >= 152) last[last_count++] = lastblock - 152; /* according to spec, anchor is in either: * block 256 Loading @@ -745,7 +750,7 @@ static sector_t udf_scan_anchors(struct super_block *sb, sector_t lastblock) * lastblock * however, if the disc isn't closed, it could be 512 */ for (i = 0; i < ARRAY_SIZE(last); i++) { for (i = 0; i < last_count; i++) { if (last[i] >= sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits) continue; Loading Loading
fs/udf/super.c +13 −8 Original line number Diff line number Diff line Loading @@ -731,13 +731,18 @@ static sector_t udf_scan_anchors(struct super_block *sb, sector_t lastblock) sector_t last[6]; int i; struct udf_sb_info *sbi = UDF_SB(sb); last[0] = lastblock; last[1] = last[0] - 1; last[2] = last[0] + 1; last[3] = last[0] - 2; last[4] = last[0] - 150; last[5] = last[0] - 152; int last_count = 0; last[last_count++] = lastblock; if (lastblock >= 1) last[last_count++] = lastblock - 1; last[last_count++] = lastblock + 1; if (lastblock >= 2) last[last_count++] = lastblock - 2; if (lastblock >= 150) last[last_count++] = lastblock - 150; if (lastblock >= 152) last[last_count++] = lastblock - 152; /* according to spec, anchor is in either: * block 256 Loading @@ -745,7 +750,7 @@ static sector_t udf_scan_anchors(struct super_block *sb, sector_t lastblock) * lastblock * however, if the disc isn't closed, it could be 512 */ for (i = 0; i < ARRAY_SIZE(last); i++) { for (i = 0; i < last_count; i++) { if (last[i] >= sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits) continue; Loading