[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [2.6 patch] fs/jbd/: possible cleanups



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 stusta de>
> 
> ---
> 
> 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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]