ReiserFS assorted trivia
PATCH 1/1 ReiserFS assorted trivia
Hello!
These five changesets contain fixes for reiserfs. They fix issue with handling of displacing_large_files allocator option, a problem with remounting from readwrite to readwrite mode if FS holds some deleted, but not yet closed files, replace lock_kernel() stuff with reiserfs analogs, some C99 designated initialisers fixes and fixes for annoying warnings in fs/reiserfs/procfs.c if you compile with reiserfs statistics.
You can pull these from bk://thebsh.namesys.com/bk/reiser3-linux-2.5-fixes
[email protected], 2002-12-07 14:13:55+03:00, [email protected]
reiserfs: Fixed annoying warnings in fs/reiserfs/procfs.c
[email protected], 2002-12-07 13:20:18+03:00, [email protected]
reiserfs: C99 designated initializers, by Art Haas
[email protected], 2002-12-07 13:18:51+03:00, [email protected]
reiserfs: lock_kernel is replaced with its reiserfs variant
[email protected], 2002-12-07 13:17:28+03:00, [email protected]
reiserfs: Fix a problem with delayed unlinks and remounting RW filesystem RW.
[email protected], 2002-12-07 13:16:27+03:00, [email protected]
reiserfs: Take into account file information even when not doing preallocation. Fixes a bug with displacing_large_files option.
Diffstats:
fs/reiserfs/dir.c | 6 +++--- fs/reiserfs/inode.c | 16 ++++++++-------- fs/reiserfs/journal.c | 5 ++--- fs/reiserfs/namei.c | 18 +++++++++--------- fs/reiserfs/procfs.c | 16 ++++++++-------- fs/reiserfs/super.c | 36 ++++++++++++++++++++---------------- include/linux/reiserfs_fs.h | 3 ++- 7 files changed, 52 insertions(+), 48 deletions(-)
Plain text patch:
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.844 -> 1.849 # fs/reiserfs/procfs.c 1.14 -> 1.15 # fs/reiserfs/inode.c 1.68 -> 1.70 # fs/reiserfs/super.c 1.54 -> 1.56 # fs/reiserfs/dir.c 1.17 -> 1.18 # fs/reiserfs/namei.c 1.44 -> 1.45
# fs/reiserfs/journal.c 1.59 -> 1.60
# include/linux/reiserfs_fs.h 1.45 -> 1.46
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/12/07 [email protected] 1.845
# reiserfs: Take into account file information even when not doing preallocation. Fixes a bug with displacing_large_files option. # --------------------------------------------
# 02/12/07 [email protected] 1.846
# reiserfs: Fix a problem with delayed unlinks and remounting RW filesystem RW.
# --------------------------------------------
# 02/12/07 [email protected] 1.847
# reiserfs: lock_kernel is replaced with its reiserfs variant
# --------------------------------------------
# 02/12/07 [email protected] 1.848
# reiserfs: C99 designated initializers, by Art Haas
# --------------------------------------------
# 02/12/07 [email protected] 1.849
# reiserfs: Fixed annoying warnings in fs/reiserfs/procfs.c
# --------------------------------------------
#
fs/reiserfs/dir.c +3 -3
@@ -18,9 +18,9 @@int reiserfs_dir_fsync (struct file *filp,struct dentry *dentry,int datasync) ;struct file_operations reiserfs_dir_operations = { - read: generic_read_dir, - readdir: reiserfs_readdir, - fsync: reiserfs_dir_fsync, + .read = generic_read_dir, + .readdir = reiserfs_readdir, + .fsync = reiserfs_dir_fsync, };int reiserfs_dir_fsync (struct file *filp,struct dentry *dentry,int datasync) {
fs/reiserfs/inode.c +8 -8
@@ -490,7 +490,7 @@return reiserfs_new_unf_blocknrs2 (th, inode, allocated_block_nr, path, block); }#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,
@@ -2113,11 +2113,11 @@ }struct address_space_operations reiserfs_address_space_operations = { - writepage: reiserfs_writepage, - readpage: reiserfs_readpage, - releasepage: reiserfs_releasepage, - sync_page: block_sync_page, - prepare_write: reiserfs_prepare_write, - commit_write: reiserfs_commit_write, - bmap: reiserfs_aop_bmap + .writepage = reiserfs_writepage, + .readpage = reiserfs_readpage, + .releasepage = reiserfs_releasepage, + .sync_page = block_sync_page, + .prepare_write = reiserfs_prepare_write, + .commit_write = reiserfs_commit_write, + .bmap = reiserfs_aop_bmap } ;
fs/reiserfs/journal.c +2 -3
@@ -1812,8 +1812,7 @@struct reiserfs_journal_commit_task *ct = __ct;struct reiserfs_journal_list *jl ; -/* FIXMEL: is this needed? */ -lock_kernel (); +reiserfs_write_lock (ct->p_s_sb); jl =SB_JOURNAL_LIST (ct->p_s_sb) + ct->jindex ;
@@ -1824,7 +1823,7 @@kupdate_one_transaction (ct->p_s_sb, jl) ; }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,
fs/reiserfs/namei.c +9 -9
@@ -1296,14 +1296,14 @@*/ struct inode_operations reiserfs_dir_inode_operations = {//&reiserfs_dir_operations, /* default_file_ops */ - create: reiserfs_create, - lookup: reiserfs_lookup, - link: reiserfs_link, - unlink: reiserfs_unlink, - symlink: reiserfs_symlink, - mkdir: reiserfs_mkdir, - rmdir: reiserfs_rmdir, - mknod: reiserfs_mknod, - rename: reiserfs_rename, + .create = reiserfs_create, + .lookup = reiserfs_lookup, + .link = reiserfs_link, + .unlink = reiserfs_unlink, + .symlink = reiserfs_symlink, + .mkdir = reiserfs_mkdir, + .rmdir = reiserfs_rmdir, + .mknod = reiserfs_mknod, + .rename = reiserfs_rename, };
fs/reiserfs/procfs.c +8 -8
@@ -78,7 +78,7 @@struct super_block *sb;char *format; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ;if (REISERFS_SB (sb)->s_properties & (1 <<REISERFS_3_6 ) ) {
@@ -136,7 +136,7 @@struct reiserfs_sb_info *r;int len =0 ; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ; r =REISERFS_SB (sb);
@@ -229,7 +229,7 @@int len =0 ;int level; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ; r =REISERFS_SB (sb);
@@ -308,7 +308,7 @@struct reiserfs_sb_info *r;int len =0 ; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ; r =REISERFS_SB (sb);
@@ -352,7 +352,7 @@int hash_code;int len =0 ; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ; sb_info =REISERFS_SB (sb);
@@ -409,7 +409,7 @@int len =0 ;int exact; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ; sb_info =REISERFS_SB (sb);
@@ -461,7 +461,7 @@struct journal_params *jp;int len =0 ; - sb =procinfo_prologue ((dev_t )data); + sb =procinfo_prologue ((int )data);if ( sb ==NULL )return -ENOENT ; r =REISERFS_SB (sb);
@@ -604,7 +604,7 @@ {return (REISERFS_SB (sb)->procdir ) ?create_proc_read_entry ( 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 )
fs/reiserfs/super.c +20 -16
@@ -474,25 +474,25 @@struct super_operations reiserfs_sops = { - alloc_inode: reiserfs_alloc_inode, - destroy_inode: reiserfs_destroy_inode, - write_inode: reiserfs_write_inode, - dirty_inode: reiserfs_dirty_inode, - delete_inode: reiserfs_delete_inode, - put_super: reiserfs_put_super, - write_super: reiserfs_write_super, - write_super_lockfs: reiserfs_write_super_lockfs, - unlockfs: reiserfs_unlockfs, - statfs: reiserfs_statfs, - remount_fs: reiserfs_remount, + .alloc_inode = reiserfs_alloc_inode, + .destroy_inode = reiserfs_destroy_inode, + .write_inode = reiserfs_write_inode, + .dirty_inode = reiserfs_dirty_inode, + .delete_inode = reiserfs_delete_inode, + .put_super = reiserfs_put_super, + .write_super = reiserfs_write_super, + .write_super_lockfs = reiserfs_write_super_lockfs, + .unlockfs = reiserfs_unlockfs, + .statfs = reiserfs_statfs, + .remount_fs = reiserfs_remount, };static struct export_operations reiserfs_export_ops = { - encode_fh: reiserfs_encode_fh, - decode_fh: reiserfs_decode_fh, - get_parent: reiserfs_get_parent, - get_dentry: reiserfs_get_dentry, + .encode_fh = reiserfs_encode_fh, + .decode_fh = reiserfs_decode_fh, + .get_parent = reiserfs_get_parent, + .get_dentry = reiserfs_get_dentry, } ;/* this struct is used in reiserfs_getopt () for containing the value for those
@@ -716,7 +716,7 @@ }if (*mount_flags &MS_RDONLY ) { -/* remount rean-only */ +/* remount read-only */ if (s->s_flags &MS_RDONLY )/* it is read-only already */ return 0 ;
@@ -732,6 +732,10 @@journal_mark_dirty (&th, s,SB_BUFFER_WITH_SB (s)); s->s_dirt =0 ; }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) ; s->s_flags &= ~MS_RDONLY ;/* now it is safe to call journal_begin */ journal_begin (&th, s,10 ) ;
include/linux/reiserfs_fs.h +2 -1
@@ -2073,13 +2073,14 @@ }extern inline int reiserfs_new_unf_blocknrs (struct reiserfs_transaction_handle *th, +struct inode *inode,b_blocknr_t *new_blocknrs,struct path * path,long block) {reiserfs_blocknr_hint_t hint = { .th = th, .path = path, - .inode =NULL , + .inode = inode, .block = block, .formatted_node =0 , .preallocate =0