Commit 9ed052e6 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] fix reiserfs for 64bit arches

From: Oleg Drokin <green@namesys.com>

From the time of reiserfs_file_write inclusion all 64bit arches were not
able to work with reiserfs for pretty stupid reason (incorrect "unsigned
long" definition of blocknumber type).

This fixes the problem.
parent 0b124d82
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
test_bit(_ALLOC_ ## optname , &SB_ALLOC_OPTS(s)) test_bit(_ALLOC_ ## optname , &SB_ALLOC_OPTS(s))
static inline void get_bit_address (struct super_block * s, static inline void get_bit_address (struct super_block * s,
unsigned long block, int * bmap_nr, int * offset) b_blocknr_t block, int * bmap_nr, int * offset)
{ {
/* It is in the bitmap block number equal to the block /* It is in the bitmap block number equal to the block
* number divided by the number of bits in a block. */ * number divided by the number of bits in a block. */
...@@ -54,7 +54,7 @@ static inline void get_bit_address (struct super_block * s, ...@@ -54,7 +54,7 @@ static inline void get_bit_address (struct super_block * s,
} }
#ifdef CONFIG_REISERFS_CHECK #ifdef CONFIG_REISERFS_CHECK
int is_reusable (struct super_block * s, unsigned long block, int bit_value) int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value)
{ {
int i, j; int i, j;
...@@ -107,7 +107,7 @@ int is_reusable (struct super_block * s, unsigned long block, int bit_value) ...@@ -107,7 +107,7 @@ int is_reusable (struct super_block * s, unsigned long block, int bit_value)
static inline int is_block_in_journal (struct super_block * s, int bmap, int static inline int is_block_in_journal (struct super_block * s, int bmap, int
off, int *next) off, int *next)
{ {
unsigned long tmp; b_blocknr_t tmp;
if (reiserfs_in_journal (s, bmap, off, 1, &tmp)) { if (reiserfs_in_journal (s, bmap, off, 1, &tmp)) {
if (tmp) { /* hint supplied */ if (tmp) { /* hint supplied */
...@@ -235,7 +235,7 @@ static int scan_bitmap_block (struct reiserfs_transaction_handle *th, ...@@ -235,7 +235,7 @@ static int scan_bitmap_block (struct reiserfs_transaction_handle *th,
/* Tries to find contiguous zero bit window (given size) in given region of /* Tries to find contiguous zero bit window (given size) in given region of
* bitmap and place new blocks there. Returns number of allocated blocks. */ * bitmap and place new blocks there. Returns number of allocated blocks. */
static int scan_bitmap (struct reiserfs_transaction_handle *th, static int scan_bitmap (struct reiserfs_transaction_handle *th,
unsigned long *start, unsigned long finish, b_blocknr_t *start, b_blocknr_t finish,
int min, int max, int unfm, unsigned long file_block) int min, int max, int unfm, unsigned long file_block)
{ {
int nr_allocated=0; int nr_allocated=0;
...@@ -281,7 +281,7 @@ static int scan_bitmap (struct reiserfs_transaction_handle *th, ...@@ -281,7 +281,7 @@ static int scan_bitmap (struct reiserfs_transaction_handle *th,
} }
static void _reiserfs_free_block (struct reiserfs_transaction_handle *th, static void _reiserfs_free_block (struct reiserfs_transaction_handle *th,
unsigned long block) b_blocknr_t block)
{ {
struct super_block * s = th->t_super; struct super_block * s = th->t_super;
struct reiserfs_super_block * rs; struct reiserfs_super_block * rs;
...@@ -327,7 +327,7 @@ static void _reiserfs_free_block (struct reiserfs_transaction_handle *th, ...@@ -327,7 +327,7 @@ static void _reiserfs_free_block (struct reiserfs_transaction_handle *th,
} }
void reiserfs_free_block (struct reiserfs_transaction_handle *th, void reiserfs_free_block (struct reiserfs_transaction_handle *th,
unsigned long block) b_blocknr_t block)
{ {
struct super_block * s = th->t_super; struct super_block * s = th->t_super;
...@@ -340,7 +340,7 @@ void reiserfs_free_block (struct reiserfs_transaction_handle *th, ...@@ -340,7 +340,7 @@ void reiserfs_free_block (struct reiserfs_transaction_handle *th,
/* preallocated blocks don't need to be run through journal_mark_freed */ /* preallocated blocks don't need to be run through journal_mark_freed */
void reiserfs_free_prealloc_block (struct reiserfs_transaction_handle *th, void reiserfs_free_prealloc_block (struct reiserfs_transaction_handle *th,
unsigned long block) { b_blocknr_t block) {
RFALSE(!th->t_super, "vs-4060: trying to free block on nonexistent device"); RFALSE(!th->t_super, "vs-4060: trying to free block on nonexistent device");
RFALSE(is_reusable (th->t_super, block, 1) == 0, "vs-4070: can not free such block"); RFALSE(is_reusable (th->t_super, block, 1) == 0, "vs-4070: can not free such block");
_reiserfs_free_block(th, block) ; _reiserfs_free_block(th, block) ;
...@@ -589,15 +589,15 @@ static inline void displace_new_packing_locality (reiserfs_blocknr_hint_t *hint) ...@@ -589,15 +589,15 @@ static inline void displace_new_packing_locality (reiserfs_blocknr_hint_t *hint)
static inline int old_hashed_relocation (reiserfs_blocknr_hint_t * hint) static inline int old_hashed_relocation (reiserfs_blocknr_hint_t * hint)
{ {
unsigned long border; b_blocknr_t border;
unsigned long hash_in; u32 hash_in;
if (hint->formatted_node || hint->inode == NULL) { if (hint->formatted_node || hint->inode == NULL) {
return 0; return 0;
} }
hash_in = le32_to_cpu((INODE_PKEY(hint->inode))->k_dir_id); hash_in = le32_to_cpu((INODE_PKEY(hint->inode))->k_dir_id);
border = hint->beg + (unsigned long) keyed_hash(((char *) (&hash_in)), 4) % (hint->end - hint->beg - 1); border = hint->beg + (u32) keyed_hash(((char *) (&hash_in)), 4) % (hint->end - hint->beg - 1);
if (border > hint->search_start) if (border > hint->search_start)
hint->search_start = border; hint->search_start = border;
...@@ -606,7 +606,7 @@ static inline int old_hashed_relocation (reiserfs_blocknr_hint_t * hint) ...@@ -606,7 +606,7 @@ static inline int old_hashed_relocation (reiserfs_blocknr_hint_t * hint)
static inline int old_way (reiserfs_blocknr_hint_t * hint) static inline int old_way (reiserfs_blocknr_hint_t * hint)
{ {
unsigned long border; b_blocknr_t border;
if (hint->formatted_node || hint->inode == NULL) { if (hint->formatted_node || hint->inode == NULL) {
return 0; return 0;
...@@ -622,7 +622,7 @@ static inline int old_way (reiserfs_blocknr_hint_t * hint) ...@@ -622,7 +622,7 @@ static inline int old_way (reiserfs_blocknr_hint_t * hint)
static inline void hundredth_slices (reiserfs_blocknr_hint_t * hint) static inline void hundredth_slices (reiserfs_blocknr_hint_t * hint)
{ {
struct key * key = &hint->key; struct key * key = &hint->key;
unsigned long slice_start; b_blocknr_t slice_start;
slice_start = (keyed_hash((char*)(&key->k_dir_id),4) % 100) * (hint->end / 100); slice_start = (keyed_hash((char*)(&key->k_dir_id),4) % 100) * (hint->end / 100);
if ( slice_start > hint->search_start || slice_start + (hint->end / 100) <= hint->search_start) { if ( slice_start > hint->search_start || slice_start + (hint->end / 100) <= hint->search_start) {
...@@ -910,7 +910,7 @@ void reiserfs_release_claimed_blocks( ...@@ -910,7 +910,7 @@ void reiserfs_release_claimed_blocks(
int reiserfs_can_fit_pages ( struct super_block *sb /* superblock of filesystem int reiserfs_can_fit_pages ( struct super_block *sb /* superblock of filesystem
to estimate space */ ) to estimate space */ )
{ {
unsigned long space; b_blocknr_t space;
spin_lock(&REISERFS_SB(sb)->bitmap_lock); spin_lock(&REISERFS_SB(sb)->bitmap_lock);
space = (SB_FREE_BLOCKS(sb) - REISERFS_SB(sb)->reserved_blocks) >> ( PAGE_CACHE_SHIFT - sb->s_blocksize_bits); space = (SB_FREE_BLOCKS(sb) - REISERFS_SB(sb)->reserved_blocks) >> ( PAGE_CACHE_SHIFT - sb->s_blocksize_bits);
......
...@@ -1250,12 +1250,12 @@ static void store_thrown (struct tree_balance * tb, struct buffer_head * bh) ...@@ -1250,12 +1250,12 @@ static void store_thrown (struct tree_balance * tb, struct buffer_head * bh)
static void free_thrown(struct tree_balance *tb) { static void free_thrown(struct tree_balance *tb) {
int i ; int i ;
unsigned long blocknr ; b_blocknr_t blocknr ;
for (i = 0; i < sizeof (tb->thrown)/sizeof (tb->thrown[0]); i++) { for (i = 0; i < sizeof (tb->thrown)/sizeof (tb->thrown[0]); i++) {
if (tb->thrown[i]) { if (tb->thrown[i]) {
blocknr = tb->thrown[i]->b_blocknr ; blocknr = tb->thrown[i]->b_blocknr ;
if (buffer_dirty (tb->thrown[i])) if (buffer_dirty (tb->thrown[i]))
printk ("free_thrown deals with dirty buffer %ld\n", blocknr); printk ("free_thrown deals with dirty buffer %d\n", blocknr);
brelse(tb->thrown[i]) ; /* incremented in store_thrown */ brelse(tb->thrown[i]) ; /* incremented in store_thrown */
reiserfs_free_block (tb->transaction_handle, blocknr); reiserfs_free_block (tb->transaction_handle, blocknr);
} }
...@@ -1339,7 +1339,7 @@ int get_right_neighbor_position (struct tree_balance * tb, int h) ...@@ -1339,7 +1339,7 @@ int get_right_neighbor_position (struct tree_balance * tb, int h)
#ifdef CONFIG_REISERFS_CHECK #ifdef CONFIG_REISERFS_CHECK
int is_reusable (struct super_block * s, unsigned long block, int bit_value); int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value);
static void check_internal_node (struct super_block * s, struct buffer_head * bh, char * mes) static void check_internal_node (struct super_block * s, struct buffer_head * bh, char * mes)
{ {
struct disk_child * dc; struct disk_child * dc;
......
...@@ -758,7 +758,7 @@ static int get_empty_nodes( ...@@ -758,7 +758,7 @@ static int get_empty_nodes(
) { ) {
struct buffer_head * p_s_new_bh, struct buffer_head * p_s_new_bh,
* p_s_Sh = PATH_H_PBUFFER (p_s_tb->tb_path, n_h); * p_s_Sh = PATH_H_PBUFFER (p_s_tb->tb_path, n_h);
unsigned long * p_n_blocknr, b_blocknr_t * p_n_blocknr,
a_n_blocknrs[MAX_AMOUNT_NEEDED] = {0, }; a_n_blocknrs[MAX_AMOUNT_NEEDED] = {0, };
int n_counter, int n_counter,
n_number_of_freeblk, n_number_of_freeblk,
...@@ -879,7 +879,7 @@ static int is_left_neighbor_in_cache( ...@@ -879,7 +879,7 @@ static int is_left_neighbor_in_cache(
) { ) {
struct buffer_head * p_s_father, * left; struct buffer_head * p_s_father, * left;
struct super_block * p_s_sb = p_s_tb->tb_sb; struct super_block * p_s_sb = p_s_tb->tb_sb;
unsigned long n_left_neighbor_blocknr; b_blocknr_t n_left_neighbor_blocknr;
int n_left_neighbor_position; int n_left_neighbor_position;
if ( ! p_s_tb->FL[n_h] ) /* Father of the left neighbor does not exist. */ if ( ! p_s_tb->FL[n_h] ) /* Father of the left neighbor does not exist. */
...@@ -2501,7 +2501,7 @@ void unfix_nodes (struct tree_balance * tb) ...@@ -2501,7 +2501,7 @@ void unfix_nodes (struct tree_balance * tb)
/* deal with list of allocated (used and unused) nodes */ /* deal with list of allocated (used and unused) nodes */
for ( i = 0; i < MAX_FEB_SIZE; i++ ) { for ( i = 0; i < MAX_FEB_SIZE; i++ ) {
if ( tb->FEB[i] ) { if ( tb->FEB[i] ) {
unsigned long blocknr = tb->FEB[i]->b_blocknr ; b_blocknr_t blocknr = tb->FEB[i]->b_blocknr ;
/* de-allocated block which was not used by balancing and /* de-allocated block which was not used by balancing and
bforget about buffer for it */ bforget about buffer for it */
brelse (tb->FEB[i]); brelse (tb->FEB[i]);
......
...@@ -506,7 +506,7 @@ int reiserfs_get_block (struct inode * inode, sector_t block, ...@@ -506,7 +506,7 @@ int reiserfs_get_block (struct inode * inode, sector_t block,
struct buffer_head * bh_result, int create) struct buffer_head * bh_result, int create)
{ {
int repeat, retval; int repeat, retval;
b_blocknr_t allocated_block_nr = 0;// b_blocknr_t is unsigned long b_blocknr_t allocated_block_nr = 0;// b_blocknr_t is (unsigned) 32 bit int
INITIALIZE_PATH(path); INITIALIZE_PATH(path);
int pos_in_item; int pos_in_item;
struct cpu_key key; struct cpu_key key;
......
...@@ -507,7 +507,7 @@ int dump_journal_writers(void) { ...@@ -507,7 +507,7 @@ int dump_journal_writers(void) {
*/ */
int reiserfs_in_journal(struct super_block *p_s_sb, int reiserfs_in_journal(struct super_block *p_s_sb,
int bmap_nr, int bit_nr, int search_all, int bmap_nr, int bit_nr, int search_all,
unsigned long *next_zero_bit) { b_blocknr_t *next_zero_bit) {
struct reiserfs_journal_cnode *cn ; struct reiserfs_journal_cnode *cn ;
struct reiserfs_list_bitmap *jb ; struct reiserfs_list_bitmap *jb ;
int i ; int i ;
...@@ -761,7 +761,7 @@ reiserfs_panic(s, "journal-539: flush_commit_list: BAD count(%d) > orig_commit_l ...@@ -761,7 +761,7 @@ reiserfs_panic(s, "journal-539: flush_commit_list: BAD count(%d) > orig_commit_l
*/ */
static struct reiserfs_journal_list *find_newer_jl_for_cn(struct reiserfs_journal_cnode *cn) { static struct reiserfs_journal_list *find_newer_jl_for_cn(struct reiserfs_journal_cnode *cn) {
struct super_block *sb = cn->sb; struct super_block *sb = cn->sb;
unsigned long blocknr = cn->blocknr ; b_blocknr_t blocknr = cn->blocknr ;
cn = cn->hprev ; cn = cn->hprev ;
while(cn) { while(cn) {
...@@ -791,7 +791,7 @@ static void remove_all_from_journal_list(struct super_block *p_s_sb, struct reis ...@@ -791,7 +791,7 @@ static void remove_all_from_journal_list(struct super_block *p_s_sb, struct reis
while(cn) { while(cn) {
if (cn->blocknr != 0) { if (cn->blocknr != 0) {
if (debug) { if (debug) {
printk("block %lu, bh is %d, state %ld\n", cn->blocknr, cn->bh ? 1: 0, printk("block %u, bh is %d, state %ld\n", cn->blocknr, cn->bh ? 1: 0,
cn->state) ; cn->state) ;
} }
cn->state = 0 ; cn->state = 0 ;
...@@ -1105,7 +1105,7 @@ static int kupdate_one_transaction(struct super_block *s, ...@@ -1105,7 +1105,7 @@ static int kupdate_one_transaction(struct super_block *s,
{ {
struct reiserfs_journal_list *pjl ; /* previous list for this cn */ struct reiserfs_journal_list *pjl ; /* previous list for this cn */
struct reiserfs_journal_cnode *cn, *walk_cn ; struct reiserfs_journal_cnode *cn, *walk_cn ;
unsigned long blocknr ; b_blocknr_t blocknr ;
int run = 0 ; int run = 0 ;
int orig_trans_id = jl->j_trans_id ; int orig_trans_id = jl->j_trans_id ;
struct buffer_head *saved_bh ; struct buffer_head *saved_bh ;
...@@ -2421,7 +2421,7 @@ int journal_end(struct reiserfs_transaction_handle *th, struct super_block *p_s_ ...@@ -2421,7 +2421,7 @@ int journal_end(struct reiserfs_transaction_handle *th, struct super_block *p_s_
** **
** returns 1 if it cleaned and relsed the buffer. 0 otherwise ** returns 1 if it cleaned and relsed the buffer. 0 otherwise
*/ */
static int remove_from_transaction(struct super_block *p_s_sb, unsigned long blocknr, int already_cleaned) { static int remove_from_transaction(struct super_block *p_s_sb, b_blocknr_t blocknr, int already_cleaned) {
struct buffer_head *bh ; struct buffer_head *bh ;
struct reiserfs_journal_cnode *cn ; struct reiserfs_journal_cnode *cn ;
int ret = 0; int ret = 0;
...@@ -2474,7 +2474,7 @@ static int remove_from_transaction(struct super_block *p_s_sb, unsigned long blo ...@@ -2474,7 +2474,7 @@ static int remove_from_transaction(struct super_block *p_s_sb, unsigned long blo
*/ */
static int can_dirty(struct reiserfs_journal_cnode *cn) { static int can_dirty(struct reiserfs_journal_cnode *cn) {
struct super_block *sb = cn->sb; struct super_block *sb = cn->sb;
unsigned long blocknr = cn->blocknr ; b_blocknr_t blocknr = cn->blocknr ;
struct reiserfs_journal_cnode *cur = cn->hprev ; struct reiserfs_journal_cnode *cur = cn->hprev ;
int can_dirty = 1 ; int can_dirty = 1 ;
...@@ -2710,7 +2710,7 @@ static int check_journal_end(struct reiserfs_transaction_handle *th, struct supe ...@@ -2710,7 +2710,7 @@ static int check_journal_end(struct reiserfs_transaction_handle *th, struct supe
** **
** Then remove it from the current transaction, decrementing any counters and filing it on the clean list. ** Then remove it from the current transaction, decrementing any counters and filing it on the clean list.
*/ */
int journal_mark_freed(struct reiserfs_transaction_handle *th, struct super_block *p_s_sb, unsigned long blocknr) { int journal_mark_freed(struct reiserfs_transaction_handle *th, struct super_block *p_s_sb, b_blocknr_t blocknr) {
struct reiserfs_journal_cnode *cn = NULL ; struct reiserfs_journal_cnode *cn = NULL ;
struct buffer_head *bh = NULL ; struct buffer_head *bh = NULL ;
struct reiserfs_list_bitmap *jb = NULL ; struct reiserfs_list_bitmap *jb = NULL ;
...@@ -2719,7 +2719,7 @@ int journal_mark_freed(struct reiserfs_transaction_handle *th, struct super_bloc ...@@ -2719,7 +2719,7 @@ int journal_mark_freed(struct reiserfs_transaction_handle *th, struct super_bloc
if (reiserfs_dont_log(th->t_super)) { if (reiserfs_dont_log(th->t_super)) {
bh = sb_find_get_block(p_s_sb, blocknr) ; bh = sb_find_get_block(p_s_sb, blocknr) ;
if (bh && buffer_dirty (bh)) { if (bh && buffer_dirty (bh)) {
printk ("journal_mark_freed(dont_log): dirty buffer on hash list: %lx %ld\n", bh->b_state, blocknr); printk ("journal_mark_freed(dont_log): dirty buffer on hash list: %lx %d\n", bh->b_state, blocknr);
BUG (); BUG ();
} }
brelse (bh); brelse (bh);
......
...@@ -102,7 +102,7 @@ inline int comp_short_keys (const struct key * le_key, ...@@ -102,7 +102,7 @@ inline int comp_short_keys (const struct key * le_key,
int n_key_length = REISERFS_SHORT_KEY_LEN; int n_key_length = REISERFS_SHORT_KEY_LEN;
p_s_le_u32 = (__u32 *)le_key; p_s_le_u32 = (__u32 *)le_key;
p_s_cpu_u32 = (__u32 *)cpu_key; p_s_cpu_u32 = (__u32 *)&cpu_key->on_disk_key;
for( ; n_key_length--; ++p_s_le_u32, ++p_s_cpu_u32 ) { for( ; n_key_length--; ++p_s_le_u32, ++p_s_cpu_u32 ) {
if ( le32_to_cpu (*p_s_le_u32) < *p_s_cpu_u32 ) if ( le32_to_cpu (*p_s_le_u32) < *p_s_cpu_u32 )
return -1; return -1;
......
...@@ -269,7 +269,7 @@ int is_reiserfs_jr (struct reiserfs_super_block * rs); ...@@ -269,7 +269,7 @@ int is_reiserfs_jr (struct reiserfs_super_block * rs);
#define NO_BALANCING_NEEDED (-4) #define NO_BALANCING_NEEDED (-4)
#define NO_MORE_UNUSED_CONTIGUOUS_BLOCKS (-5) #define NO_MORE_UNUSED_CONTIGUOUS_BLOCKS (-5)
typedef unsigned long b_blocknr_t; typedef __u32 b_blocknr_t;
typedef __u32 unp_t; typedef __u32 unp_t;
struct unfm_nodeinfo { struct unfm_nodeinfo {
...@@ -570,7 +570,7 @@ extern void reiserfs_warning (const char * fmt, ...); ...@@ -570,7 +570,7 @@ extern void reiserfs_warning (const char * fmt, ...);
static inline int uniqueness2type (__u32 uniqueness) CONSTF; static inline int uniqueness2type (__u32 uniqueness) CONSTF;
static inline int uniqueness2type (__u32 uniqueness) static inline int uniqueness2type (__u32 uniqueness)
{ {
switch (uniqueness) { switch ((int)uniqueness) {
case V1_SD_UNIQUENESS: return TYPE_STAT_DATA; case V1_SD_UNIQUENESS: return TYPE_STAT_DATA;
case V1_INDIRECT_UNIQUENESS: return TYPE_INDIRECT; case V1_INDIRECT_UNIQUENESS: return TYPE_INDIRECT;
case V1_DIRECT_UNIQUENESS: return TYPE_DIRECT; case V1_DIRECT_UNIQUENESS: return TYPE_DIRECT;
...@@ -1730,11 +1730,11 @@ int journal_release_error(struct reiserfs_transaction_handle*, struct super_bloc ...@@ -1730,11 +1730,11 @@ int journal_release_error(struct reiserfs_transaction_handle*, struct super_bloc
int journal_end(struct reiserfs_transaction_handle *, struct super_block *, unsigned long) ; int journal_end(struct reiserfs_transaction_handle *, struct super_block *, unsigned long) ;
int journal_end_sync(struct reiserfs_transaction_handle *, struct super_block *, unsigned long) ; int journal_end_sync(struct reiserfs_transaction_handle *, struct super_block *, unsigned long) ;
int journal_mark_dirty_nolog(struct reiserfs_transaction_handle *, struct super_block *, struct buffer_head *bh) ; int journal_mark_dirty_nolog(struct reiserfs_transaction_handle *, struct super_block *, struct buffer_head *bh) ;
int journal_mark_freed(struct reiserfs_transaction_handle *, struct super_block *, unsigned long blocknr) ; int journal_mark_freed(struct reiserfs_transaction_handle *, struct super_block *, b_blocknr_t blocknr) ;
int push_journal_writer(char *w) ; int push_journal_writer(char *w) ;
int pop_journal_writer(int windex) ; int pop_journal_writer(int windex) ;
int journal_transaction_should_end(struct reiserfs_transaction_handle *, int) ; int journal_transaction_should_end(struct reiserfs_transaction_handle *, int) ;
int reiserfs_in_journal(struct super_block *p_s_sb, int bmap_nr, int bit_nr, int searchall, unsigned long *next) ; int reiserfs_in_journal(struct super_block *p_s_sb, int bmap_nr, int bit_nr, int searchall, b_blocknr_t *next) ;
int journal_begin(struct reiserfs_transaction_handle *, struct super_block *p_s_sb, unsigned long) ; int journal_begin(struct reiserfs_transaction_handle *, struct super_block *p_s_sb, unsigned long) ;
void flush_async_commits(struct super_block *p_s_sb) ; void flush_async_commits(struct super_block *p_s_sb) ;
...@@ -2105,8 +2105,8 @@ struct buffer_head * get_FEB (struct tree_balance *); ...@@ -2105,8 +2105,8 @@ struct buffer_head * get_FEB (struct tree_balance *);
typedef struct __reiserfs_blocknr_hint reiserfs_blocknr_hint_t; typedef struct __reiserfs_blocknr_hint reiserfs_blocknr_hint_t;
int reiserfs_parse_alloc_options (struct super_block *, char *); int reiserfs_parse_alloc_options (struct super_block *, char *);
int is_reusable (struct super_block * s, unsigned long block, int bit_value); int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value);
void reiserfs_free_block (struct reiserfs_transaction_handle *th, unsigned long); void reiserfs_free_block (struct reiserfs_transaction_handle *th, b_blocknr_t);
int reiserfs_allocate_blocknrs(reiserfs_blocknr_hint_t *, b_blocknr_t * , int, int); int reiserfs_allocate_blocknrs(reiserfs_blocknr_hint_t *, b_blocknr_t * , int, int);
extern inline int reiserfs_new_form_blocknrs (struct tree_balance * tb, extern inline int reiserfs_new_form_blocknrs (struct tree_balance * tb,
b_blocknr_t *new_blocknrs, int amount_needed) b_blocknr_t *new_blocknrs, int amount_needed)
......
...@@ -133,7 +133,7 @@ typedef enum { ...@@ -133,7 +133,7 @@ typedef enum {
struct reiserfs_journal_cnode { struct reiserfs_journal_cnode {
struct buffer_head *bh ; /* real buffer head */ struct buffer_head *bh ; /* real buffer head */
struct super_block *sb ; /* dev of real buffer head */ struct super_block *sb ; /* dev of real buffer head */
unsigned long blocknr ; /* block number of real buffer head, == 0 when buffer on disk */ __u32 blocknr ; /* block number of real buffer head, == 0 when buffer on disk */
long state ; long state ;
struct reiserfs_journal_list *jlist ; /* journal list this cnode lives in */ struct reiserfs_journal_list *jlist ; /* journal list this cnode lives in */
struct reiserfs_journal_cnode *next ; /* next in transaction list */ struct reiserfs_journal_cnode *next ; /* next in transaction list */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment