fs/jbd/: possible cleanups
PATCH 1/1 fs/jbd/: possible cleanups
This patch contains the following possible cleanups:
- make needlessly global functions static
- journal.c: remove the unused global function __journal_internal_check and move the check to journal_init
- remove the following write-only global variable:
- journal.c: current_journal
- remove the following unneeded EXPORT_SYMBOL's:
- journal.c: journal_check_used_features
- journal.c: journal_recover
---
This patch was already sent on:
- 3 Jul 2005
- 14 Jun 2005
fs/jbd/journal.c | 41 ++++++++++++++++++----------------------- fs/jbd/revoke.c | 3 ++- include/linux/jbd.h | 3 --- 3 files changed, 20 insertions(+), 27 deletions(-)
include/linux/jbd.h renamed from include/linux/jbd.h.old +0 -3
@@ -900,8 +900,6 @@ int start, int len, int bsize);extern journal_t *journal_init_inode (struct inode *);extern int journal_update_format (journal_t *); -extern int journal_check_used_features - (journal_t *,unsigned long ,unsigned long ,unsigned long );extern int journal_check_available_features (journal_t *,unsigned long ,unsigned long ,unsigned long );extern int journal_set_features
@@ -914,7 +912,6 @@extern int journal_skip_recovery (journal_t *);extern void journal_update_superblock (journal_t *,int );extern void __journal_abort_hard (journal_t *); -extern void __journal_abort_soft (journal_t *,int );extern void journal_abort (journal_t *,int );extern int journal_errno (journal_t *);extern void journal_ack_err (journal_t *);
fs/jbd/journal.c renamed from fs/jbd/journal.c.old +18 -23
111 lines not on this page · raw message
fs/jbd/revoke.c renamed from fs/jbd/revoke.c.old +2 -1
@@ -116,7 +116,8 @@ (block << (hash_shift - 12))) & (table->hash_size - 1); } -int insert_revoke_hash (journal_t *journal,unsigned long blocknr,tid_t seq) +static int insert_revoke_hash (journal_t *journal,unsigned long blocknr, +tid_t seq) {struct list_head *hash_list;struct jbd_revoke_record_s *record;
Quoted 1 line · Adrian Bunk
- make needlessly global functions static
I had previously commented on this patch:
Quoted 2 lines
-
journal.c: remove the unused global function__journal_internal_checkand move the check tojournal_init
I don't mind removing this function, but it shouldn't be put inside #ifdef JBD_DEBUG, as that would remove the check from the compiler-parsed code and defeat the purpose of the check.
Quoted 2 lines
- remove the following write-only global variable:
-journal.c:current_journal
Seems fine.
Quoted 2 lines
- remove the following unneeded EXPORT_SYMBOL's:
-journal.c:journal_check_used_features
Should be kept for API completeness.
Quoted 2 lines
- remove the following unneeded EXPORT_SYMBOL's:
-journal.c:journal_recover
Doesn't appear usable in any case, should be removed.
Quoted 158 lines
Signed-off-by Adrian Bunk <[email protected]>---
This patch was already sent on:
- 3 Jul 2005
- 14 Jun 2005fs/jbd/journal.c | 41 ++++++++++++++++++----------------------- fs/jbd/revoke.c | 3 ++- include/linux/jbd.h | 3 --- 3 files changed, 20 insertions(+), 27 deletions(-)include/linux/jbd.h renamed from include/linux/jbd.h.old +0
-3@@ -900,8 +900,6 @@ int start, int len, int bsize);extern journal_t *journal_init_inode (struct inode *);extern int journal_update_format (journal_t *); -extern int journal_check_used_features - (journal_t *,unsigned long ,unsigned long ,unsigned long );extern int journal_check_available_features (journal_t *,unsigned long ,unsigned long ,unsigned long );extern int journal_set_features@@ -914,7 +912,6 @@extern int journal_skip_recovery (journal_t *);extern void journal_update_superblock (journal_t *,int );extern void __journal_abort_hard (journal_t *); -extern void __journal_abort_soft (journal_t *,int );extern void journal_abort (journal_t *,int );extern int journal_errno (journal_t *);extern void journal_ack_err (journal_t *);fs/jbd/journal.c renamed from fs/jbd/journal.c.old +18
-23@@ -59,13 +59,11 @@EXPORT_SYMBOL (journal_init_dev);EXPORT_SYMBOL (journal_init_inode);EXPORT_SYMBOL (journal_update_format); -EXPORT_SYMBOL (journal_check_used_features);EXPORT_SYMBOL (journal_check_available_features);EXPORT_SYMBOL (journal_set_features);EXPORT_SYMBOL (journal_create);EXPORT_SYMBOL (journal_load);EXPORT_SYMBOL (journal_destroy); -EXPORT_SYMBOL (journal_recover);EXPORT_SYMBOL (journal_update_superblock);EXPORT_SYMBOL (journal_abort);EXPORT_SYMBOL (journal_errno);@@ -81,6 +79,7 @@EXPORT_SYMBOL (journal_force_commit);static int journal_convert_superblock_v1 (journal_t *,journal_superblock_t *); +static void __journal_abort_soft (journal_t *journal,int errno);/* * Helper function used to manage commit timeouts @@ -93,16 +92,6 @@wake_up_process (p); } -/* Static check for data structure consistency. There's no code -* invoked --- we'll just get a linker failure if things aren't right. -*/ -void __journal_internal_check (void ) -{ -extern void journal_bad_superblock_size (void ); -if (sizeof (struct journal_superblock_s ) !=1024 ) -journal_bad_superblock_size (); -} -/* * kjournald: The main thread function used to manage a logging device * journal. @@ -119,16 +108,12 @@* known as checkpointing, and this thread is responsible for that job. */ -journal_t *current_journal;// AKPM: debug - -int kjournald (void *arg) +static int kjournald (void *arg) {journal_t *journal = (journal_t *) arg;transaction_t *transaction;struct timer_list timer; - current_journal = journal; -daemonize ("kjournald" );/* Set up an interval timer which can be used to trigger a @@ -1181,8 +1166,10 @@* features. Return true (non-zero) if it does. **/ -int journal_check_used_features (journal_t *journal,unsigned long compat, -unsigned long ro,unsigned long incompat) +static int journal_check_used_features (journal_t *journal, +unsigned long compat, +unsigned long ro, +unsigned long incompat) {journal_superblock_t *sb;@@ -1439,7 +1426,7 @@* device this journal is present. */ -const char *journal_dev_name (journal_t *journal,char *buffer) +static const char *journal_dev_name (journal_t *journal,char *buffer) {struct block_device *bdev;@@ -1485,7 +1472,7 @@/* Soft abort: record the abort error status in the journal superblock, * but don't do any other IO. */ -void __journal_abort_soft (journal_t *journal,int errno) +static void __journal_abort_soft (journal_t *journal,int errno) {if (journal->j_flags &JFS_ABORT )return ;@@ -1888,7 +1875,7 @@static struct proc_dir_entry *proc_jbd_debug; -int read_jbd_debug (char *page,char **start,off_t off, +static int read_jbd_debug (char *page,char **start,off_t off,int count,int *eof,void *data) {int ret;@@ -1898,7 +1885,7 @@return ret; } -int write_jbd_debug (struct file *file,const char __user *buffer, +static int write_jbd_debug (struct file *file,const char __user *buffer,unsigned long count,void *data) {char buf[32 ];@@ -1987,6 +1974,14 @@ {int ret; +/* Static check for data structure consistency. There's no code +* invoked --- we'll just get a linker failure if things aren't right. +*/ +extern void journal_bad_superblock_size (void ); +if (sizeof (struct journal_superblock_s ) !=1024 ) +journal_bad_superblock_size (); + + ret =journal_init_caches ();if (ret !=0 )journal_destroy_caches ();
fs/jbd/revoke.c line 123
Quoted 9 lines
fs/jbd/revoke.c renamed from fs/jbd/revoke.c.old +2
-1@@ -116,7 +116,8 @@ (block << (hash_shift - 12))) & (table->hash_size - 1); } -int insert_revoke_hash (journal_t *journal,unsigned long blocknr,tid_t seq) +static int insert_revoke_hash (journal_t *journal,unsigned long blocknr, +tid_t seq) {struct list_head *hash_list;struct jbd_revoke_record_s *record;
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.
Quoted 8 lines · Andreas Dilger
On Jul 12, 2005 22:27 +0200, Adrian Bunk wrote:
...Quoted 2 lines
-
journal.c: remove the unused global function__journal_internal_checkand move the check tojournal_initI don't mind removing this function, but it shouldn't be put inside #ifdef
JBD_DEBUG, as that would remove the check from the compiler-parsed code and defeat the purpose of the check.
???
That's not what my patch is doing.
journal_init() is not inside an #ifdef JBD_DEBUG.
Quoted 6 lines
...
Quoted 2 lines
- remove the following unneeded EXPORT_SYMBOL's:
-journal.c:journal_check_used_featuresShould be kept for API completeness.
...
The function itself isn't removed.
Does it really has to stay exported or isn't it enough to re-export it when a user appears?
Quoted 1 line
Cheers, Andreas
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 8 lines · Adrian Bunk
Quoted 3 lines · Andreas Dilger
I don't mind removing this function, but it shouldn't be put inside #ifdef
JBD_DEBUG, as that would remove the check from the compiler-parsed code and defeat the purpose of the check.That's not what my patch is doing.
journal_init()is not inside an #ifdefJBD_DEBUG.
My bad. You didn't generate diff with -p (which I normally do and is incredibly useful when reviewing patches) and I saw "write_jbd_debug()" above and my brain went on autopilot assuming the code had moved into that function. Objection withdrawn.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.