mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
udf: replace loops coded with goto to real loops
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>
This commit is contained in:
parent
742ba02a51
commit
4daa1b8799
@ -183,7 +183,7 @@ static void udf_bitmap_free_blocks(struct super_block *sb,
|
||||
block = bloc.logicalBlockNum + offset +
|
||||
(sizeof(struct spaceBitmapDesc) << 3);
|
||||
|
||||
do_more:
|
||||
do {
|
||||
overflow = 0;
|
||||
block_group = block >> (sb->s_blocksize_bits + 3);
|
||||
bit = block % (sb->s_blocksize << 3);
|
||||
@ -215,14 +215,14 @@ do_more:
|
||||
if (overflow) {
|
||||
block += count;
|
||||
count = overflow;
|
||||
goto do_more;
|
||||
}
|
||||
} while (overflow);
|
||||
|
||||
error_return:
|
||||
sb->s_dirt = 1;
|
||||
if (sbi->s_lvid_bh)
|
||||
mark_buffer_dirty(sbi->s_lvid_bh);
|
||||
mutex_unlock(&sbi->s_alloc_mutex);
|
||||
return;
|
||||
}
|
||||
|
||||
static int udf_bitmap_prealloc_blocks(struct super_block *sb,
|
||||
@ -246,7 +246,7 @@ static int udf_bitmap_prealloc_blocks(struct super_block *sb,
|
||||
if (first_block + block_count > part_len)
|
||||
block_count = part_len - first_block;
|
||||
|
||||
repeat:
|
||||
do {
|
||||
nr_groups = udf_compute_nr_groups(sb, partition);
|
||||
block = first_block + (sizeof(struct spaceBitmapDesc) << 3);
|
||||
block_group = block >> (sb->s_blocksize_bits + 3);
|
||||
@ -260,11 +260,11 @@ repeat:
|
||||
bit = block % (sb->s_blocksize << 3);
|
||||
|
||||
while (bit < (sb->s_blocksize << 3) && block_count > 0) {
|
||||
if (!udf_test_bit(bit, bh->b_data)) {
|
||||
if (!udf_test_bit(bit, bh->b_data))
|
||||
goto out;
|
||||
} else if (DQUOT_PREALLOC_BLOCK(inode, 1)) {
|
||||
else if (DQUOT_PREALLOC_BLOCK(inode, 1))
|
||||
goto out;
|
||||
} else if (!udf_clear_bit(bit, bh->b_data)) {
|
||||
else if (!udf_clear_bit(bit, bh->b_data)) {
|
||||
udf_debug("bit already cleared for block %d\n", bit);
|
||||
DQUOT_FREE_BLOCK(inode, 1);
|
||||
goto out;
|
||||
@ -275,8 +275,8 @@ repeat:
|
||||
block++;
|
||||
}
|
||||
mark_buffer_dirty(bh);
|
||||
if (block_count > 0)
|
||||
goto repeat;
|
||||
} while (block_count > 0);
|
||||
|
||||
out:
|
||||
if (udf_add_free_space(sbi, partition, -alloc_count))
|
||||
mark_buffer_dirty(sbi->s_lvid_bh);
|
||||
|
Loading…
x
Reference in New Issue
Block a user