Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 883cb9d1 authored by Marcin Slusarz's avatar Marcin Slusarz Committed by Linus Torvalds
Browse files

udf: move calculating of nr_groups into helper function



Signed-off-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
Cc: Ben Fennema <bfennema@falcon.csc.calpoly.edu>
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 66e1da3f
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -231,9 +231,7 @@ static int udf_bitmap_prealloc_blocks(struct super_block *sb,
		block_count = part_len - first_block;

repeat:
	nr_groups = (sbi->s_partmaps[partition].s_partition_len +
		     (sizeof(struct spaceBitmapDesc) << 3) +
		     (sb->s_blocksize * 8) - 1) / (sb->s_blocksize * 8);
	nr_groups = udf_compute_nr_groups(sb, partition);
	block = first_block + (sizeof(struct spaceBitmapDesc) << 3);
	block_group = block >> (sb->s_blocksize_bits + 3);
	group_start = block_group ? 0 : sizeof(struct spaceBitmapDesc);
+10 −6
Original line number Diff line number Diff line
@@ -937,18 +937,22 @@ static void udf_load_fileset(struct super_block *sb, struct buffer_head *bh,
		  root->logicalBlockNum, root->partitionReferenceNum);
}

int udf_compute_nr_groups(struct super_block *sb, u32 partition)
{
	struct udf_part_map *map = &UDF_SB(sb)->s_partmaps[partition];
	return (map->s_partition_len +
		(sizeof(struct spaceBitmapDesc) << 3) +
		(sb->s_blocksize * 8) - 1) /
		(sb->s_blocksize * 8);
}

static struct udf_bitmap *udf_sb_alloc_bitmap(struct super_block *sb, u32 index)
{
	struct udf_part_map *map = &UDF_SB(sb)->s_partmaps[index];
	struct udf_bitmap *bitmap;
	int nr_groups;
	int size;

	/* TODO: move calculating of nr_groups into helper function */
	nr_groups = (map->s_partition_len +
			(sizeof(struct spaceBitmapDesc) << 3) +
			(sb->s_blocksize * 8) - 1) /
			(sb->s_blocksize * 8);
	nr_groups = udf_compute_nr_groups(sb, index);
	size = sizeof(struct udf_bitmap) +
		(sizeof(struct buffer_head *) * nr_groups);

+2 −0
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb)

struct logicalVolIntegrityDescImpUse *udf_sb_lvidiu(struct udf_sb_info *sbi);

int udf_compute_nr_groups(struct super_block *sb, u32 partition);

#define UDF_QUERY_FLAG(X,Y)			( UDF_SB(X)->s_flags & ( 1 << (Y) ) )
#define UDF_SET_FLAG(X,Y)			( UDF_SB(X)->s_flags |= ( 1 << (Y) ) )
#define UDF_CLEAR_FLAG(X,Y)			( UDF_SB(X)->s_flags &= ~( 1 << (Y) ) )