File space_bitmap.c

space_bitmap.c -------------- Simple space allocator using a bitmap
$Id: space_bitmap.c,v 1.11 2003/10/20 07:18:11 stewart Exp $
(C)2003 Stewart Smith Distributed under the GNU Public License


Included Files


Preprocessor definitions

#define __GXX_ABI_VERSION 102

#define __SIZE_TYPE__

#define __PTRDIFF_TYPE__ int

#define __WCHAR_TYPE__

#define __WINT_TYPE__

#define __SCHAR_MAX__ 127

#define __SHRT_MAX__ 32767

#define __INT_MAX__ 2147483647

#define __LONG_MAX__ 2147483647L

#define __LONG_LONG_MAX__ 9223372036854775807LL

#define __WCHAR_MAX__ 2147483647

#define __CHAR_BIT__ 8

#define __FLT_EVAL_METHOD__ 0

#define __FLT_RADIX__ 2

#define __FLT_MANT_DIG__ 24

#define __FLT_DIG__ 6

#define __FLT_MIN_EXP__ -125

#define __FLT_MIN_10_EXP__ -37

#define __FLT_MAX_EXP__ 128

#define __FLT_MAX_10_EXP__ 38

#define __FLT_MAX__ 3.40282347e+38F

#define __FLT_MIN__ 1.17549435e-38F

#define __FLT_EPSILON__ 1.19209290e-7F

#define __FLT_DENORM_MIN__ 1.40129846e-45F

#define __DBL_MANT_DIG__ 53

#define __DBL_DIG__ 15

#define __DBL_MIN_EXP__ -1021

#define __DBL_MIN_10_EXP__ -307

#define __DBL_MAX_EXP__ 1024

#define __DBL_MAX_10_EXP__ 308

#define __DBL_MAX__ 1.7976931348623157e+308

#define __DBL_MIN__ 2.2250738585072014e-308

#define __DBL_EPSILON__ 2.2204460492503131e-16

#define __DBL_DENORM_MIN__ 4.9406564584124654e-324

#define __LDBL_MANT_DIG__ 53

#define __LDBL_DIG__ 15

#define __LDBL_MIN_EXP__ -1021

#define __LDBL_MIN_10_EXP__ -307

#define __LDBL_MAX_EXP__ 1024

#define __LDBL_MAX_10_EXP__ 308

#define __DECIMAL_DIG__ 17

#define __LDBL_MAX__ 1.7976931348623157e+308L

#define __LDBL_MIN__ 2.2250738585072014e-308L

#define __LDBL_EPSILON__ 2.2204460492503131e-16L

#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L

#define __REGISTER_PREFIX__

#define __USER_LABEL_PREFIX__

#define __VERSION__ "3.3.2 (Debian)"

#define __STDC_HOSTED__ 1

#define __NO_INLINE__ 1

#define __FINITE_MATH_ONLY__ 0

#define __CHAR_UNSIGNED__ 1

#define _ARCH_PPC 1

#define __BIG_ENDIAN__ 1

#define _BIG_ENDIAN 1

#define _CALL_SYSV 1

#define __PPC 1

#define __PPC__ 1

#define PPC 1

#define __ELF__ 1

#define __powerpc 1

#define __powerpc__ 1

#define powerpc 1

#define __GNUC__ 3

#define __GNUC_MINOR__ 3

#define __GNUC_PATCHLEVEL__ 2

#define __unix__ 1

#define __gnu_linux__ 1

#define __linux__ 1

#define unix 1

#define __unix 1

#define linux 1

#define __linux 1

#define MAX_DIV( a, b )


Global Variable next_free

u64 next_free
Visible in:  onode_index.c
   space_bitmap.c
Used in: ag_allocate_block()space_bitmap.c

Global Variable ag_block_free_last

u64 ag_block_free_last
Visible in:  space_bitmap.c
Used in: ag_block_free()space_bitmap.c

Global Variable ag_block_free_last_block

struct fcfs_disk_block* ag_block_free_last_block
Visible in:  space_bitmap.c
Used in: ag_block_free()space_bitmap.c

Global Function ag_allocate_block()

printf(stderr,"BLOCK %lu %lu isn't free\n",allocation_group,near+i);

struct fcfs_block_run* ag_allocate_block ( struct fcfs_disk* disk, u32 allocation_group, u32 near, u32 blocksnr )
Prototyped in: space_bitmap.h
Calls: ag_block_free()space_bitmap.c
  space_bitmap_allocate_block()space_bitmap.c
  abort(), fprintf(), malloc()
Called by: onode1_fork_grow()onode.c
  onode_index_insert()onode_index.c
  onode_index_leaf_new()onode_index.c
  onode_index_new_node()onode_index.c
References Variables: next_freespace_bitmap.c


Global Function ag_block_free()

int ag_block_free ( struct fcfs_disk* disk, u32 allocation_group, u32 block )
Prototyped in: space_bitmap.h
Calls: disk_getblock()disk_testkit.c
  abort(), disk_freeblock(), fprintf(), test_bit()
Called by: ag_allocate_block()space_bitmap.c
References Variables: ag_block_free_lastspace_bitmap.c
  ag_block_free_last_blockspace_bitmap.c

Global Function space_bitmap_allocate_block()

int space_bitmap_allocate_block ( struct fcfs_disk* disk, u32 allocation_group, u32 block )
Prototyped in: space_bitmap.h
Calls: disk_getblock()disk_testkit.c
  disk_freeblock(), disk_writeblock(), set_bit()
Called by: ag_allocate_block()space_bitmap.c
  write_block_bitmaps()mkfs.c

Global Function space_bitmap_size()

u32 space_bitmap_size ( struct fcfs_sb* sb, int ag )
Prototyped in: space_bitmap.h
Called by: write_block_bitmaps()mkfs.c