All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Borisov <nborisov@suse.com>
To: Qu Wenruo <wqu@suse.com>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v1.1 9/9] btrfs-progs: Cleanup warning reported by -Wmissing-prototypes
Date: Fri, 16 Nov 2018 10:14:15 +0200	[thread overview]
Message-ID: <cd704293-6486-16d6-8433-a599e13a7683@suse.com> (raw)
In-Reply-To: <20181116080451.6306-1-wqu@suse.com>



On 16.11.18 г. 10:04 ч., Qu Wenruo wrote:
> The following missing prototypes will be fixed:
> 1)  btrfs.c::handle_special_globals()
> 2)  check/mode-lowmem.c::repair_ternary_lowmem()
> 3)  extent-tree.c::btrfs_search_overlap_extent()
>     Above 3 can be fixed by making them static
> 
> 4)  utils.c::btrfs_check_nodesize()
>     Fixed by moving it to fsfeatures.c
> 
> 5)  chunk-recover.c::btrfs_recover_chunk_tree()
> 6)  super-recover.c::btrfs_recover_superblocks()
>     Fixed by moving the declaration from cmds-rescue.c to rescue.h
> 
> 7)  utils-lib.c::arg_strtou64()
> 8)  utils-lib.c::lookup_path_rootid()
>     Fixed by include "utils.h"
> 
> 9)  free-space-tree.c::set_free_space_tree_thresholds()
>     Fixed by deleting it, as there is no user.
> 
> 10) free-space-tree.c::convert_free_space_to_bitmaps()
> 11) free-space-tree.c::convert_free_space_to_extents()
> 12) free-space-tree.c::__remove_from_free_space_tree()
> 13) free-space-tree.c::__add_to_free_space_tree()
> 14) free-space-tree.c::btrfs_create_tree()
>     Fixed by making them static.
> 
> Signed-off-by: Qu Wenruo <wqu@suse.com>

Reviewed-by: Nikolay Borisov <nborisov@suse.com>


> ---
> changelog:
> v1.1
>    Update the subject, as we free space tree will also be cleaned up.
> ---
>  btrfs.c             |  2 +-
>  check/mode-lowmem.c |  6 ++---
>  chunk-recover.c     |  1 +
>  cmds-rescue.c       |  4 +--
>  extent-tree.c       |  2 +-
>  free-space-tree.c   | 59 ++++++++++++---------------------------------
>  fsfeatures.c        | 22 +++++++++++++++++
>  rescue.h            | 14 +++++++++++
>  super-recover.c     |  1 +
>  utils-lib.c         |  1 +
>  utils.c             | 23 ------------------
>  11 files changed, 60 insertions(+), 75 deletions(-)
>  create mode 100644 rescue.h
> 
> diff --git a/btrfs.c b/btrfs.c
> index 2d39f2ced3e8..78c468d2e050 100644
> --- a/btrfs.c
> +++ b/btrfs.c
> @@ -210,7 +210,7 @@ static int handle_global_options(int argc, char **argv)
>  	return shift;
>  }
>  
> -void handle_special_globals(int shift, int argc, char **argv)
> +static void handle_special_globals(int shift, int argc, char **argv)
>  {
>  	int has_help = 0;
>  	int has_full = 0;
> diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c
> index 14bbc9ee6cb6..f56b5e8d45dc 100644
> --- a/check/mode-lowmem.c
> +++ b/check/mode-lowmem.c
> @@ -953,9 +953,9 @@ out:
>   * returns 0 means success.
>   * returns not 0 means on error;
>   */
> -int repair_ternary_lowmem(struct btrfs_root *root, u64 dir_ino, u64 ino,
> -			  u64 index, char *name, int name_len, u8 filetype,
> -			  int err)
> +static int repair_ternary_lowmem(struct btrfs_root *root, u64 dir_ino, u64 ino,
> +				 u64 index, char *name, int name_len,
> +				 u8 filetype, int err)
>  {
>  	struct btrfs_trans_handle *trans;
>  	int stage = 0;
> diff --git a/chunk-recover.c b/chunk-recover.c
> index 1d30db51d8ed..1e554b8e8750 100644
> --- a/chunk-recover.c
> +++ b/chunk-recover.c
> @@ -40,6 +40,7 @@
>  #include "utils.h"
>  #include "btrfsck.h"
>  #include "commands.h"
> +#include "rescue.h"
>  
>  struct recover_control {
>  	int verbose;
> diff --git a/cmds-rescue.c b/cmds-rescue.c
> index 2bc50c0841ed..36e9e1277e40 100644
> --- a/cmds-rescue.c
> +++ b/cmds-rescue.c
> @@ -26,15 +26,13 @@
>  #include "commands.h"
>  #include "utils.h"
>  #include "help.h"
> +#include "rescue.h"
>  
>  static const char * const rescue_cmd_group_usage[] = {
>  	"btrfs rescue <command> [options] <path>",
>  	NULL
>  };
>  
> -int btrfs_recover_chunk_tree(const char *path, int verbose, int yes);
> -int btrfs_recover_superblocks(const char *path, int verbose, int yes);
> -
>  static const char * const cmd_rescue_chunk_recover_usage[] = {
>  	"btrfs rescue chunk-recover [options] <device>",
>  	"Recover the chunk tree by scanning the devices one by one.",
> diff --git a/extent-tree.c b/extent-tree.c
> index cd98633992ac..8c9cdeff3b02 100644
> --- a/extent-tree.c
> +++ b/extent-tree.c
> @@ -3749,7 +3749,7 @@ static void __get_extent_size(struct btrfs_root *root, struct btrfs_path *path,
>   * Return >0 for not found.
>   * Return <0 for err
>   */
> -int btrfs_search_overlap_extent(struct btrfs_root *root,
> +static int btrfs_search_overlap_extent(struct btrfs_root *root,
>  				struct btrfs_path *path, u64 bytenr, u64 len)
>  {
>  	struct btrfs_key key;
> diff --git a/free-space-tree.c b/free-space-tree.c
> index 6641cdfa42ba..af141e6e611a 100644
> --- a/free-space-tree.c
> +++ b/free-space-tree.c
> @@ -24,35 +24,6 @@
>  #include "bitops.h"
>  #include "internal.h"
>  
> -void set_free_space_tree_thresholds(struct btrfs_block_group_cache *cache,
> -				    u64 sectorsize)
> -{
> -	u32 bitmap_range;
> -	size_t bitmap_size;
> -	u64 num_bitmaps, total_bitmap_size;
> -
> -	/*
> -	 * We convert to bitmaps when the disk space required for using extents
> -	 * exceeds that required for using bitmaps.
> -	 */
> -	bitmap_range = sectorsize * BTRFS_FREE_SPACE_BITMAP_BITS;
> -	num_bitmaps = div_u64(cache->key.offset + bitmap_range - 1,
> -			      bitmap_range);
> -	bitmap_size = sizeof(struct btrfs_item) + BTRFS_FREE_SPACE_BITMAP_SIZE;
> -	total_bitmap_size = num_bitmaps * bitmap_size;
> -	cache->bitmap_high_thresh = div_u64(total_bitmap_size,
> -					    sizeof(struct btrfs_item));
> -
> -	/*
> -	 * We allow for a small buffer between the high threshold and low
> -	 * threshold to avoid thrashing back and forth between the two formats.
> -	 */
> -	if (cache->bitmap_high_thresh > 100)
> -		cache->bitmap_low_thresh = cache->bitmap_high_thresh - 100;
> -	else
> -		cache->bitmap_low_thresh = 0;
> -}
> -
>  static struct btrfs_free_space_info *
>  search_free_space_info(struct btrfs_trans_handle *trans,
>  		       struct btrfs_fs_info *fs_info,
> @@ -202,9 +173,9 @@ static void le_bitmap_set(unsigned long *map, unsigned int start, int len)
>  	}
>  }
>  
> -int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
> -				  struct btrfs_block_group_cache *block_group,
> -				  struct btrfs_path *path)
> +static int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
> +				struct btrfs_block_group_cache *block_group,
> +				struct btrfs_path *path)
>  {
>  	struct btrfs_fs_info *fs_info = trans->fs_info;
>  	struct btrfs_root *root = fs_info->free_space_root;
> @@ -341,9 +312,9 @@ out:
>  	return ret;
>  }
>  
> -int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
> -				  struct btrfs_block_group_cache *block_group,
> -				  struct btrfs_path *path)
> +static int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
> +				struct btrfs_block_group_cache *block_group,
> +				struct btrfs_path *path)
>  {
>  	struct btrfs_fs_info *fs_info = trans->fs_info;
>  	struct btrfs_root *root = fs_info->free_space_root;
> @@ -780,9 +751,9 @@ out:
>  	return ret;
>  }
>  
> -int __remove_from_free_space_tree(struct btrfs_trans_handle *trans,
> -				  struct btrfs_block_group_cache *block_group,
> -				  struct btrfs_path *path, u64 start, u64 size)
> +static int __remove_from_free_space_tree(struct btrfs_trans_handle *trans,
> +				struct btrfs_block_group_cache *block_group,
> +				struct btrfs_path *path, u64 start, u64 size)
>  {
>  	struct btrfs_free_space_info *info;
>  	u32 flags;
> @@ -960,9 +931,9 @@ out:
>  	return ret;
>  }
>  
> -int __add_to_free_space_tree(struct btrfs_trans_handle *trans,
> -			     struct btrfs_block_group_cache *block_group,
> -			     struct btrfs_path *path, u64 start, u64 size)
> +static int __add_to_free_space_tree(struct btrfs_trans_handle *trans,
> +				struct btrfs_block_group_cache *block_group,
> +				struct btrfs_path *path, u64 start, u64 size)
>  {
>  	struct btrfs_fs_info *fs_info = trans->fs_info;
>  	struct btrfs_free_space_info *info;
> @@ -1420,9 +1391,9 @@ out:
>  	return ret;
>  }
>  
> -struct btrfs_root *btrfs_create_tree(struct btrfs_trans_handle *trans,
> -				     struct btrfs_fs_info *fs_info,
> -				     u64 objectid)
> +static struct btrfs_root *btrfs_create_tree(struct btrfs_trans_handle *trans,
> +					    struct btrfs_fs_info *fs_info,
> +					    u64 objectid)
>  {
>  	struct extent_buffer *leaf;
>  	struct btrfs_root *tree_root = fs_info->tree_root;
> diff --git a/fsfeatures.c b/fsfeatures.c
> index 7d85d60f1277..201d0f576688 100644
> --- a/fsfeatures.c
> +++ b/fsfeatures.c
> @@ -225,3 +225,25 @@ u32 get_running_kernel_version(void)
>  	return version;
>  }
>  
> +int btrfs_check_nodesize(u32 nodesize, u32 sectorsize, u64 features)
> +{
> +	if (nodesize < sectorsize) {
> +		error("illegal nodesize %u (smaller than %u)",
> +				nodesize, sectorsize);
> +		return -1;
> +	} else if (nodesize > BTRFS_MAX_METADATA_BLOCKSIZE) {
> +		error("illegal nodesize %u (larger than %u)",
> +			nodesize, BTRFS_MAX_METADATA_BLOCKSIZE);
> +		return -1;
> +	} else if (nodesize & (sectorsize - 1)) {
> +		error("illegal nodesize %u (not aligned to %u)",
> +			nodesize, sectorsize);
> +		return -1;
> +	} else if (features & BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS &&
> +		   nodesize != sectorsize) {
> +		error("illegal nodesize %u (not equal to %u for mixed block group)",
> +			nodesize, sectorsize);
> +		return -1;
> +	}
> +	return 0;
> +}
> diff --git a/rescue.h b/rescue.h
> new file mode 100644
> index 000000000000..c9f6e7b80b16
> --- /dev/null
> +++ b/rescue.h
> @@ -0,0 +1,14 @@
> +/*
> + * Copyright (C) 2018 SUSE.  All rights reserved.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public
> + * License v2 as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * General Public License for more details.
> + */
> +int btrfs_recover_superblocks(const char *path, int verbose, int yes);
> +int btrfs_recover_chunk_tree(const char *path, int verbose, int yes);
> diff --git a/super-recover.c b/super-recover.c
> index 86b3df9867dc..a1af71786034 100644
> --- a/super-recover.c
> +++ b/super-recover.c
> @@ -34,6 +34,7 @@
>  #include "crc32c.h"
>  #include "volumes.h"
>  #include "commands.h"
> +#include "rescue.h"
>  
>  struct btrfs_recover_superblock {
>  	struct btrfs_fs_devices *fs_devices;
> diff --git a/utils-lib.c b/utils-lib.c
> index 044f93fc4446..5bb89f2f1a8d 100644
> --- a/utils-lib.c
> +++ b/utils-lib.c
> @@ -1,4 +1,5 @@
>  #include "kerncompat.h"
> +#include "utils.h"
>  #include <unistd.h>
>  #include <stdlib.h>
>  #include <limits.h>
> diff --git a/utils.c b/utils.c
> index b274f46fdd9d..a7e34b804551 100644
> --- a/utils.c
> +++ b/utils.c
> @@ -2266,29 +2266,6 @@ int btrfs_tree_search2_ioctl_supported(int fd)
>  	return ret;
>  }
>  
> -int btrfs_check_nodesize(u32 nodesize, u32 sectorsize, u64 features)
> -{
> -	if (nodesize < sectorsize) {
> -		error("illegal nodesize %u (smaller than %u)",
> -				nodesize, sectorsize);
> -		return -1;
> -	} else if (nodesize > BTRFS_MAX_METADATA_BLOCKSIZE) {
> -		error("illegal nodesize %u (larger than %u)",
> -			nodesize, BTRFS_MAX_METADATA_BLOCKSIZE);
> -		return -1;
> -	} else if (nodesize & (sectorsize - 1)) {
> -		error("illegal nodesize %u (not aligned to %u)",
> -			nodesize, sectorsize);
> -		return -1;
> -	} else if (features & BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS &&
> -		   nodesize != sectorsize) {
> -		error("illegal nodesize %u (not equal to %u for mixed block group)",
> -			nodesize, sectorsize);
> -		return -1;
> -	}
> -	return 0;
> -}
> -
>  /*
>   * Copy a path argument from SRC to DEST and check the SRC length if it's at
>   * most PATH_MAX and fits into DEST. DESTLEN is supposed to be exact size of
> 

  reply	other threads:[~2018-11-16  8:14 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-16  7:54 [PATCH 0/9] btrfs-progs: Make W=1 clean (no "again") Qu Wenruo
2018-11-16  7:54 ` [PATCH 1/9] btrfs-progs: Makefile.extrawarn: Import cc-disable-warning Qu Wenruo
2018-12-04 11:04   ` David Sterba
2018-11-16  7:54 ` [PATCH 2/9] btrfs-progs: fix gcc8 default build warning caused by '-Wformat-truncation' Qu Wenruo
2018-12-04 11:10   ` David Sterba
2018-12-04 12:21     ` Qu Wenruo
2018-11-16  7:54 ` [PATCH 3/9] btrfs-progs: Makefile.extrawarn: Don't warn on sign compare Qu Wenruo
2018-11-16  8:00   ` [PATCH v1.1 " Qu Wenruo
2018-12-04 11:10     ` David Sterba
2018-11-16  7:54 ` [PATCH 4/9] btrfs-progs: Fix Wempty-body warning Qu Wenruo
2018-11-16  8:01   ` Nikolay Borisov
2018-11-16  7:54 ` [PATCH 5/9] btrfs-progs: Fix Wimplicit-fallthrough warning Qu Wenruo
2018-11-16  8:04   ` Nikolay Borisov
2018-11-16  8:10     ` Qu Wenruo
2018-11-16  7:54 ` [PATCH 6/9] btrfs-progs: Fix Wsuggest-attribute=format warning Qu Wenruo
2018-11-16  8:06   ` Nikolay Borisov
2018-11-16  7:54 ` [PATCH 7/9] btrfs-progs: Fix Wmaybe-uninitialized warning Qu Wenruo
2018-11-16  8:13   ` Nikolay Borisov
2018-11-16  8:16     ` Qu Wenruo
2018-11-16  8:22   ` [PATCH v1.1 " Qu Wenruo
2018-11-16  8:24     ` Nikolay Borisov
2018-12-04 12:17   ` [PATCH " David Sterba
2018-12-04 12:22     ` Adam Borowski
2018-12-04 12:42       ` Nikolay Borisov
2018-12-05  5:38     ` Qu Wenruo
2018-11-16  7:54 ` [PATCH 8/9] btrfs-progs: Fix Wtype-limits warning Qu Wenruo
2018-11-16  8:07   ` Nikolay Borisov
2018-11-16  7:54 ` [PATCH 9/9] btrfs-progs: Cleanup warning reported by -Wmissing-prototypes except free space tree Qu Wenruo
2018-11-16  8:04   ` [PATCH v1.1 9/9] btrfs-progs: Cleanup warning reported by -Wmissing-prototypes Qu Wenruo
2018-11-16  8:14     ` Nikolay Borisov [this message]
2018-12-04 12:22     ` David Sterba
2018-12-04 12:24       ` Qu Wenruo
2018-12-04 12:48         ` David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cd704293-6486-16d6-8433-a599e13a7683@suse.com \
    --to=nborisov@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=wqu@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.