On Jul 12, 2005 22:27 +0200, Adrian Bunk wrote: > - make needlessly global functions static I had previously commented on this patch: > - journal.c: remove the unused global function __journal_internal_check > and move the check to journal_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. > - remove the following write-only global variable: > - journal.c: current_journal Seems fine. > - remove the following unneeded EXPORT_SYMBOL's: > - journal.c: journal_check_used_features Should be kept for API completeness. > - remove the following unneeded EXPORT_SYMBOL's: > - journal.c: journal_recover Doesn't appear usable in any case, should be removed. > Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx> > > --- > > 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(-) > > --- linux-2.6.12-rc6-mm1-full/include/linux/jbd.h.old 2005-06-14 03:58:20.000000000 +0200 > +++ linux-2.6.12-rc6-mm1-full/include/linux/jbd.h 2005-06-14 04:00:56.000000000 +0200 > @@ -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 *); > --- linux-2.6.12-rc6-mm1-full/fs/jbd/journal.c.old 2005-06-14 03:57:39.000000000 +0200 > +++ linux-2.6.12-rc6-mm1-full/fs/jbd/journal.c 2005-06-14 04:08:24.000000000 +0200 > @@ -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(); > --- linux-2.6.12-rc6-mm1-full/fs/jbd/revoke.c.old 2005-06-14 03:58:36.000000000 +0200 > +++ linux-2.6.12-rc6-mm1-full/fs/jbd/revoke.c 2005-06-14 03:58:41.000000000 +0200 > @@ -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. _______________________________________________ Ext3-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/ext3-users