• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   *  linux/fs/ext3/bitmap.c
3   *
4   * Copyright (C) 1992, 1993, 1994, 1995
5   * Remy Card (card@masi.ibp.fr)
6   * Laboratoire MASI - Institut Blaise Pascal
7   * Universite Pierre et Marie Curie (Paris VI)
8   */
9  
10  #include "ext3.h"
11  
12  #ifdef EXT3FS_DEBUG
13  
14  static const int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0};
15  
ext3_count_free(struct buffer_head * map,unsigned int numchars)16  unsigned long ext3_count_free (struct buffer_head * map, unsigned int numchars)
17  {
18  	unsigned int i;
19  	unsigned long sum = 0;
20  
21  	if (!map)
22  		return (0);
23  	for (i = 0; i < numchars; i++)
24  		sum += nibblemap[map->b_data[i] & 0xf] +
25  			nibblemap[(map->b_data[i] >> 4) & 0xf];
26  	return (sum);
27  }
28  
29  #endif  /*  EXT3FS_DEBUG  */
30  
31