Commit 36db78e3 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://thebsh.namesys.com/bk/reiser3-linux-2.5-fixes

into home.transmeta.com:/home/torvalds/v2.5/linux
parents 49b0c2a3 2b3cd4fd
...@@ -18,9 +18,9 @@ static int reiserfs_readdir (struct file *, void *, filldir_t); ...@@ -18,9 +18,9 @@ static int reiserfs_readdir (struct file *, void *, filldir_t);
int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, int datasync) ; int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, int datasync) ;
struct file_operations reiserfs_dir_operations = { struct file_operations reiserfs_dir_operations = {
read: generic_read_dir, .read = generic_read_dir,
readdir: reiserfs_readdir, .readdir = reiserfs_readdir,
fsync: reiserfs_dir_fsync, .fsync = reiserfs_dir_fsync,
}; };
int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, int datasync) { int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, int datasync) {
......
...@@ -490,7 +490,7 @@ static inline int _allocate_block(struct reiserfs_transaction_handle *th, ...@@ -490,7 +490,7 @@ static inline int _allocate_block(struct reiserfs_transaction_handle *th,
return reiserfs_new_unf_blocknrs2(th, inode, allocated_block_nr, path, block); return reiserfs_new_unf_blocknrs2(th, inode, allocated_block_nr, path, block);
} }
#endif #endif
return reiserfs_new_unf_blocknrs (th, allocated_block_nr, path, block); return reiserfs_new_unf_blocknrs (th, inode, allocated_block_nr, path, block);
} }
int reiserfs_get_block (struct inode * inode, sector_t block, int reiserfs_get_block (struct inode * inode, sector_t block,
...@@ -2113,11 +2113,11 @@ static int reiserfs_releasepage(struct page *page, int unused_gfp_flags) ...@@ -2113,11 +2113,11 @@ static int reiserfs_releasepage(struct page *page, int unused_gfp_flags)
} }
struct address_space_operations reiserfs_address_space_operations = { struct address_space_operations reiserfs_address_space_operations = {
writepage: reiserfs_writepage, .writepage = reiserfs_writepage,
readpage: reiserfs_readpage, .readpage = reiserfs_readpage,
releasepage: reiserfs_releasepage, .releasepage = reiserfs_releasepage,
sync_page: block_sync_page, .sync_page = block_sync_page,
prepare_write: reiserfs_prepare_write, .prepare_write = reiserfs_prepare_write,
commit_write: reiserfs_commit_write, .commit_write = reiserfs_commit_write,
bmap: reiserfs_aop_bmap .bmap = reiserfs_aop_bmap
} ; } ;
...@@ -1812,8 +1812,7 @@ static void reiserfs_journal_commit_task_func(void *__ct) { ...@@ -1812,8 +1812,7 @@ static void reiserfs_journal_commit_task_func(void *__ct) {
struct reiserfs_journal_commit_task *ct = __ct; struct reiserfs_journal_commit_task *ct = __ct;
struct reiserfs_journal_list *jl ; struct reiserfs_journal_list *jl ;
/* FIXMEL: is this needed? */ reiserfs_write_lock(ct->p_s_sb);
lock_kernel();
jl = SB_JOURNAL_LIST(ct->p_s_sb) + ct->jindex ; jl = SB_JOURNAL_LIST(ct->p_s_sb) + ct->jindex ;
...@@ -1824,7 +1823,7 @@ static void reiserfs_journal_commit_task_func(void *__ct) { ...@@ -1824,7 +1823,7 @@ static void reiserfs_journal_commit_task_func(void *__ct) {
kupdate_one_transaction(ct->p_s_sb, jl) ; kupdate_one_transaction(ct->p_s_sb, jl) ;
} }
reiserfs_kfree(ct->self, sizeof(struct reiserfs_journal_commit_task), ct->p_s_sb) ; reiserfs_kfree(ct->self, sizeof(struct reiserfs_journal_commit_task), ct->p_s_sb) ;
unlock_kernel(); reiserfs_write_unlock(ct->p_s_sb);
} }
static void setup_commit_task_arg(struct reiserfs_journal_commit_task *ct, static void setup_commit_task_arg(struct reiserfs_journal_commit_task *ct,
......
...@@ -1296,14 +1296,14 @@ static int reiserfs_rename (struct inode * old_dir, struct dentry *old_dentry, ...@@ -1296,14 +1296,14 @@ static int reiserfs_rename (struct inode * old_dir, struct dentry *old_dentry,
*/ */
struct inode_operations reiserfs_dir_inode_operations = { struct inode_operations reiserfs_dir_inode_operations = {
//&reiserfs_dir_operations, /* default_file_ops */ //&reiserfs_dir_operations, /* default_file_ops */
create: reiserfs_create, .create = reiserfs_create,
lookup: reiserfs_lookup, .lookup = reiserfs_lookup,
link: reiserfs_link, .link = reiserfs_link,
unlink: reiserfs_unlink, .unlink = reiserfs_unlink,
symlink: reiserfs_symlink, .symlink = reiserfs_symlink,
mkdir: reiserfs_mkdir, .mkdir = reiserfs_mkdir,
rmdir: reiserfs_rmdir, .rmdir = reiserfs_rmdir,
mknod: reiserfs_mknod, .mknod = reiserfs_mknod,
rename: reiserfs_rename, .rename = reiserfs_rename,
}; };
...@@ -78,7 +78,7 @@ int reiserfs_version_in_proc( char *buffer, char **start, off_t offset, ...@@ -78,7 +78,7 @@ int reiserfs_version_in_proc( char *buffer, char **start, off_t offset,
struct super_block *sb; struct super_block *sb;
char *format; char *format;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
if ( REISERFS_SB(sb)->s_properties & (1 << REISERFS_3_6) ) { if ( REISERFS_SB(sb)->s_properties & (1 << REISERFS_3_6) ) {
...@@ -136,7 +136,7 @@ int reiserfs_super_in_proc( char *buffer, char **start, off_t offset, ...@@ -136,7 +136,7 @@ int reiserfs_super_in_proc( char *buffer, char **start, off_t offset,
struct reiserfs_sb_info *r; struct reiserfs_sb_info *r;
int len = 0; int len = 0;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
r = REISERFS_SB(sb); r = REISERFS_SB(sb);
...@@ -229,7 +229,7 @@ int reiserfs_per_level_in_proc( char *buffer, char **start, off_t offset, ...@@ -229,7 +229,7 @@ int reiserfs_per_level_in_proc( char *buffer, char **start, off_t offset,
int len = 0; int len = 0;
int level; int level;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
r = REISERFS_SB(sb); r = REISERFS_SB(sb);
...@@ -308,7 +308,7 @@ int reiserfs_bitmap_in_proc( char *buffer, char **start, off_t offset, ...@@ -308,7 +308,7 @@ int reiserfs_bitmap_in_proc( char *buffer, char **start, off_t offset,
struct reiserfs_sb_info *r; struct reiserfs_sb_info *r;
int len = 0; int len = 0;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
r = REISERFS_SB(sb); r = REISERFS_SB(sb);
...@@ -352,7 +352,7 @@ int reiserfs_on_disk_super_in_proc( char *buffer, char **start, off_t offset, ...@@ -352,7 +352,7 @@ int reiserfs_on_disk_super_in_proc( char *buffer, char **start, off_t offset,
int hash_code; int hash_code;
int len = 0; int len = 0;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
sb_info = REISERFS_SB(sb); sb_info = REISERFS_SB(sb);
...@@ -409,7 +409,7 @@ int reiserfs_oidmap_in_proc( char *buffer, char **start, off_t offset, ...@@ -409,7 +409,7 @@ int reiserfs_oidmap_in_proc( char *buffer, char **start, off_t offset,
int len = 0; int len = 0;
int exact; int exact;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
sb_info = REISERFS_SB(sb); sb_info = REISERFS_SB(sb);
...@@ -461,7 +461,7 @@ int reiserfs_journal_in_proc( char *buffer, char **start, off_t offset, ...@@ -461,7 +461,7 @@ int reiserfs_journal_in_proc( char *buffer, char **start, off_t offset,
struct journal_params *jp; struct journal_params *jp;
int len = 0; int len = 0;
sb = procinfo_prologue((dev_t)data); sb = procinfo_prologue((int)data);
if( sb == NULL ) if( sb == NULL )
return -ENOENT; return -ENOENT;
r = REISERFS_SB(sb); r = REISERFS_SB(sb);
...@@ -604,7 +604,7 @@ struct proc_dir_entry *reiserfs_proc_register( struct super_block *sb, ...@@ -604,7 +604,7 @@ struct proc_dir_entry *reiserfs_proc_register( struct super_block *sb,
{ {
return ( REISERFS_SB(sb)->procdir ) ? create_proc_read_entry return ( REISERFS_SB(sb)->procdir ) ? create_proc_read_entry
( name, 0, REISERFS_SB(sb)->procdir, func, ( name, 0, REISERFS_SB(sb)->procdir, func,
( void * ) sb->s_bdev->bd_dev) : NULL; ( void * )(int) sb->s_bdev->bd_dev) : NULL;
} }
void reiserfs_proc_unregister( struct super_block *sb, const char *name ) void reiserfs_proc_unregister( struct super_block *sb, const char *name )
......
...@@ -474,25 +474,25 @@ static void reiserfs_dirty_inode (struct inode * inode) { ...@@ -474,25 +474,25 @@ static void reiserfs_dirty_inode (struct inode * inode) {
struct super_operations reiserfs_sops = struct super_operations reiserfs_sops =
{ {
alloc_inode: reiserfs_alloc_inode, .alloc_inode = reiserfs_alloc_inode,
destroy_inode: reiserfs_destroy_inode, .destroy_inode = reiserfs_destroy_inode,
write_inode: reiserfs_write_inode, .write_inode = reiserfs_write_inode,
dirty_inode: reiserfs_dirty_inode, .dirty_inode = reiserfs_dirty_inode,
delete_inode: reiserfs_delete_inode, .delete_inode = reiserfs_delete_inode,
put_super: reiserfs_put_super, .put_super = reiserfs_put_super,
write_super: reiserfs_write_super, .write_super = reiserfs_write_super,
write_super_lockfs: reiserfs_write_super_lockfs, .write_super_lockfs = reiserfs_write_super_lockfs,
unlockfs: reiserfs_unlockfs, .unlockfs = reiserfs_unlockfs,
statfs: reiserfs_statfs, .statfs = reiserfs_statfs,
remount_fs: reiserfs_remount, .remount_fs = reiserfs_remount,
}; };
static struct export_operations reiserfs_export_ops = { static struct export_operations reiserfs_export_ops = {
encode_fh: reiserfs_encode_fh, .encode_fh = reiserfs_encode_fh,
decode_fh: reiserfs_decode_fh, .decode_fh = reiserfs_decode_fh,
get_parent: reiserfs_get_parent, .get_parent = reiserfs_get_parent,
get_dentry: reiserfs_get_dentry, .get_dentry = reiserfs_get_dentry,
} ; } ;
/* this struct is used in reiserfs_getopt () for containing the value for those /* this struct is used in reiserfs_getopt () for containing the value for those
...@@ -716,7 +716,7 @@ static int reiserfs_remount (struct super_block * s, int * mount_flags, char * a ...@@ -716,7 +716,7 @@ static int reiserfs_remount (struct super_block * s, int * mount_flags, char * a
} }
if (*mount_flags & MS_RDONLY) { if (*mount_flags & MS_RDONLY) {
/* remount rean-only */ /* remount read-only */
if (s->s_flags & MS_RDONLY) if (s->s_flags & MS_RDONLY)
/* it is read-only already */ /* it is read-only already */
return 0; return 0;
...@@ -732,6 +732,10 @@ static int reiserfs_remount (struct super_block * s, int * mount_flags, char * a ...@@ -732,6 +732,10 @@ static int reiserfs_remount (struct super_block * s, int * mount_flags, char * a
journal_mark_dirty(&th, s, SB_BUFFER_WITH_SB (s)); journal_mark_dirty(&th, s, SB_BUFFER_WITH_SB (s));
s->s_dirt = 0; s->s_dirt = 0;
} else { } else {
/* remount read-write */
if (!(s->s_flags & MS_RDONLY))
return 0; /* We are read-write already */
REISERFS_SB(s)->s_mount_state = sb_umount_state(rs) ; REISERFS_SB(s)->s_mount_state = sb_umount_state(rs) ;
s->s_flags &= ~MS_RDONLY ; /* now it is safe to call journal_begin */ s->s_flags &= ~MS_RDONLY ; /* now it is safe to call journal_begin */
journal_begin(&th, s, 10) ; journal_begin(&th, s, 10) ;
......
...@@ -2073,13 +2073,14 @@ extern inline int reiserfs_new_form_blocknrs (struct tree_balance * tb, ...@@ -2073,13 +2073,14 @@ extern inline int reiserfs_new_form_blocknrs (struct tree_balance * tb,
} }
extern inline int reiserfs_new_unf_blocknrs (struct reiserfs_transaction_handle *th, extern inline int reiserfs_new_unf_blocknrs (struct reiserfs_transaction_handle *th,
struct inode *inode,
b_blocknr_t *new_blocknrs, b_blocknr_t *new_blocknrs,
struct path * path, long block) struct path * path, long block)
{ {
reiserfs_blocknr_hint_t hint = { reiserfs_blocknr_hint_t hint = {
.th = th, .th = th,
.path = path, .path = path,
.inode = NULL, .inode = inode,
.block = block, .block = block,
.formatted_node = 0, .formatted_node = 0,
.preallocate = 0 .preallocate = 0
......
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