Commit 4daa1b87 authored by Marcin Slusarz's avatar Marcin Slusarz Committed by Linus Torvalds
Browse files

udf: replace loops coded with goto to real loops



Signed-off-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
Acked-by: default avatarJan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 742ba02a
Loading
Loading
Loading
Loading
+59 −59
Original line number Diff line number Diff line
@@ -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);