Skip to content

Commit

Permalink
udf: improve readability of udf_load_partition
Browse files Browse the repository at this point in the history
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Marcin Slusarz authored and Linus Torvalds committed Feb 8, 2008
1 parent 756fa92 commit 28f7c4d
Showing 1 changed file with 30 additions and 29 deletions.
59 changes: 30 additions & 29 deletions 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 28f7c4d

Please sign in to comment.