Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 84744
b: refs/heads/master
c: 28f7c4d
h: refs/heads/master
v: v3
  • Loading branch information
Marcin Slusarz authored and Linus Torvalds committed Feb 8, 2008
1 parent 20fcb06 commit f165ae0
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 30 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 756fa92f4d725698ffa4ac1faeb8f4e8cdb6cd95
refs/heads/master: 28f7c4d413b9e6326f8d0aef31cd5ba8500b20dd
59 changes: 30 additions & 29 deletions trunk/fs/udf/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -1447,44 +1447,45 @@ static int udf_load_partition(struct super_block *sb, kernel_lb_addr *fileset)
sbi = UDF_SB(sb);

for (i = 0; i < ARRAY_SIZE(sbi->s_anchor); i++) {
if (sbi->s_anchor[i] &&
(bh = udf_read_tagged(sb, sbi->s_anchor[i],
sbi->s_anchor[i], &ident))) {
anchor = (struct anchorVolDescPtr *)bh->b_data;

/* Locate the main sequence */
main_s = le32_to_cpu(
anchor->mainVolDescSeqExt.extLocation);
main_e = le32_to_cpu(
anchor->mainVolDescSeqExt.extLength);
main_e = main_e >> sb->s_blocksize_bits;
main_e += main_s;

/* Locate the reserve sequence */
reserve_s = le32_to_cpu(
if (!sbi->s_anchor[i])
continue;
bh = udf_read_tagged(sb, sbi->s_anchor[i], sbi->s_anchor[i],
&ident);
if (!bh)
continue;

anchor = (struct anchorVolDescPtr *)bh->b_data;

/* Locate the main sequence */
main_s = le32_to_cpu(anchor->mainVolDescSeqExt.extLocation);
main_e = le32_to_cpu(anchor->mainVolDescSeqExt.extLength);
main_e = main_e >> sb->s_blocksize_bits;
main_e += main_s;

/* Locate the reserve sequence */
reserve_s = le32_to_cpu(
anchor->reserveVolDescSeqExt.extLocation);
reserve_e = le32_to_cpu(
reserve_e = le32_to_cpu(
anchor->reserveVolDescSeqExt.extLength);
reserve_e = reserve_e >> sb->s_blocksize_bits;
reserve_e += reserve_s;
reserve_e = reserve_e >> sb->s_blocksize_bits;
reserve_e += reserve_s;

brelse(bh);
brelse(bh);

/* Process the main & reserve sequences */
/* responsible for finding the PartitionDesc(s) */
if (!(udf_process_sequence(sb, main_s, main_e,
fileset) &&
udf_process_sequence(sb, reserve_s, reserve_e,
fileset)))
break;
}
/* Process the main & reserve sequences */
/* responsible for finding the PartitionDesc(s) */
if (!(udf_process_sequence(sb, main_s, main_e,
fileset) &&
udf_process_sequence(sb, reserve_s, reserve_e,
fileset)))
break;
}

if (i == ARRAY_SIZE(sbi->s_anchor)) {
udf_debug("No Anchor block found\n");
return 1;
} else
udf_debug("Using anchor in block %d\n", sbi->s_anchor[i]);
}
udf_debug("Using anchor in block %d\n", sbi->s_anchor[i]);

for (i = 0; i < sbi->s_partitions; i++) {
kernel_lb_addr uninitialized_var(ino);
Expand Down

0 comments on commit f165ae0

Please sign in to comment.