]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/udf/super.c
udf: move calculating of nr_groups into helper function
[linux-2.6-omap-h63xx.git] / fs / udf / super.c
index 86aa2238bc7bfb691b5ea3c6fe64f1ffad2cd2ff..c19ee38e85b3fb7393ca0839ea738fe50dff1384 100644 (file)
@@ -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);