Loading fs/udf/super.c +5 −12 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ #include <linux/errno.h> #include <linux/mount.h> #include <linux/seq_file.h> #include <linux/bitmap.h> #include <asm/byteorder.h> #include "udf_sb.h" Loading Loading @@ -1958,10 +1959,6 @@ static int udf_statfs(struct dentry *dentry, struct kstatfs *buf) return 0; } static unsigned char udf_bitmap_lookup[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 }; static unsigned int udf_count_free_bitmap(struct super_block *sb, struct udf_bitmap *bitmap) { Loading @@ -1971,7 +1968,6 @@ static unsigned int udf_count_free_bitmap(struct super_block *sb, int block = 0, newblock; kernel_lb_addr loc; uint32_t bytes; uint8_t value; uint8_t *ptr; uint16_t ident; struct spaceBitmapDesc *bm; Loading @@ -1997,13 +1993,10 @@ static unsigned int udf_count_free_bitmap(struct super_block *sb, ptr = (uint8_t *)bh->b_data; while (bytes > 0) { while ((bytes > 0) && (index < sb->s_blocksize)) { value = ptr[index]; accum += udf_bitmap_lookup[value & 0x0f]; accum += udf_bitmap_lookup[value >> 4]; index++; bytes--; } u32 cur_bytes = min_t(u32, bytes, sb->s_blocksize - index); accum += bitmap_weight((const unsigned long *)(ptr + index), cur_bytes * 8); bytes -= cur_bytes; if (bytes) { brelse(bh); newblock = udf_get_lb_pblock(sb, loc, ++block); Loading Loading
fs/udf/super.c +5 −12 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ #include <linux/errno.h> #include <linux/mount.h> #include <linux/seq_file.h> #include <linux/bitmap.h> #include <asm/byteorder.h> #include "udf_sb.h" Loading Loading @@ -1958,10 +1959,6 @@ static int udf_statfs(struct dentry *dentry, struct kstatfs *buf) return 0; } static unsigned char udf_bitmap_lookup[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 }; static unsigned int udf_count_free_bitmap(struct super_block *sb, struct udf_bitmap *bitmap) { Loading @@ -1971,7 +1968,6 @@ static unsigned int udf_count_free_bitmap(struct super_block *sb, int block = 0, newblock; kernel_lb_addr loc; uint32_t bytes; uint8_t value; uint8_t *ptr; uint16_t ident; struct spaceBitmapDesc *bm; Loading @@ -1997,13 +1993,10 @@ static unsigned int udf_count_free_bitmap(struct super_block *sb, ptr = (uint8_t *)bh->b_data; while (bytes > 0) { while ((bytes > 0) && (index < sb->s_blocksize)) { value = ptr[index]; accum += udf_bitmap_lookup[value & 0x0f]; accum += udf_bitmap_lookup[value >> 4]; index++; bytes--; } u32 cur_bytes = min_t(u32, bytes, sb->s_blocksize - index); accum += bitmap_weight((const unsigned long *)(ptr + index), cur_bytes * 8); bytes -= cur_bytes; if (bytes) { brelse(bh); newblock = udf_get_lb_pblock(sb, loc, ++block); Loading