lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 29 Sep 2021 21:17:36 +0800
From:   kernel test robot <lkp@...el.com>
To:     Yang Li <yang.lee@...ux.alibaba.com>, clm@...com
Cc:     kbuild-all@...ts.01.org, josef@...icpanda.com, dsterba@...e.com,
        linux-btrfs@...r.kernel.org, linux-kernel@...r.kernel.org,
        Yang Li <yang.lee@...ux.alibaba.com>
Subject: Re: [PATCH] btrfs: turn btrfs_destroy_all_ordered_extents() into
 void functions

Hi Yang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on kdave/for-next]
[also build test ERROR on v5.15-rc3 next-20210921]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Yang-Li/btrfs-turn-btrfs_destroy_all_ordered_extents-into-void-functions/20210929-133924
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: arc-randconfig-r043-20210929 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/c6f80dfd41a91ba3a38e031d0611b91bd1618085
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Yang-Li/btrfs-turn-btrfs_destroy_all_ordered_extents-into-void-functions/20210929-133924
        git checkout c6f80dfd41a91ba3a38e031d0611b91bd1618085
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

>> fs/btrfs/disk-io.c:4635:13: error: conflicting types for 'btrfs_destroy_delayed_refs'; have 'void(struct btrfs_transaction *, struct btrfs_fs_info *)'
    4635 | static void btrfs_destroy_delayed_refs(struct btrfs_transaction *trans,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/disk-io.c:56:12: note: previous declaration of 'btrfs_destroy_delayed_refs' with type 'int(struct btrfs_transaction *, struct btrfs_fs_info *)'
      56 | static int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +4635 fs/btrfs/disk-io.c

  4634	
> 4635	static void btrfs_destroy_delayed_refs(struct btrfs_transaction *trans,
  4636					      struct btrfs_fs_info *fs_info)
  4637	{
  4638		struct rb_node *node;
  4639		struct btrfs_delayed_ref_root *delayed_refs;
  4640		struct btrfs_delayed_ref_node *ref;
  4641	
  4642		delayed_refs = &trans->delayed_refs;
  4643	
  4644		spin_lock(&delayed_refs->lock);
  4645		if (atomic_read(&delayed_refs->num_entries) == 0) {
  4646			spin_unlock(&delayed_refs->lock);
  4647			btrfs_debug(fs_info, "delayed_refs has NO entry");
  4648			return;
  4649		}
  4650	
  4651		while ((node = rb_first_cached(&delayed_refs->href_root)) != NULL) {
  4652			struct btrfs_delayed_ref_head *head;
  4653			struct rb_node *n;
  4654			bool pin_bytes = false;
  4655	
  4656			head = rb_entry(node, struct btrfs_delayed_ref_head,
  4657					href_node);
  4658			if (btrfs_delayed_ref_lock(delayed_refs, head))
  4659				continue;
  4660	
  4661			spin_lock(&head->lock);
  4662			while ((n = rb_first_cached(&head->ref_tree)) != NULL) {
  4663				ref = rb_entry(n, struct btrfs_delayed_ref_node,
  4664					       ref_node);
  4665				ref->in_tree = 0;
  4666				rb_erase_cached(&ref->ref_node, &head->ref_tree);
  4667				RB_CLEAR_NODE(&ref->ref_node);
  4668				if (!list_empty(&ref->add_list))
  4669					list_del(&ref->add_list);
  4670				atomic_dec(&delayed_refs->num_entries);
  4671				btrfs_put_delayed_ref(ref);
  4672			}
  4673			if (head->must_insert_reserved)
  4674				pin_bytes = true;
  4675			btrfs_free_delayed_extent_op(head->extent_op);
  4676			btrfs_delete_ref_head(delayed_refs, head);
  4677			spin_unlock(&head->lock);
  4678			spin_unlock(&delayed_refs->lock);
  4679			mutex_unlock(&head->mutex);
  4680	
  4681			if (pin_bytes) {
  4682				struct btrfs_block_group *cache;
  4683	
  4684				cache = btrfs_lookup_block_group(fs_info, head->bytenr);
  4685				BUG_ON(!cache);
  4686	
  4687				spin_lock(&cache->space_info->lock);
  4688				spin_lock(&cache->lock);
  4689				cache->pinned += head->num_bytes;
  4690				btrfs_space_info_update_bytes_pinned(fs_info,
  4691					cache->space_info, head->num_bytes);
  4692				cache->reserved -= head->num_bytes;
  4693				cache->space_info->bytes_reserved -= head->num_bytes;
  4694				spin_unlock(&cache->lock);
  4695				spin_unlock(&cache->space_info->lock);
  4696	
  4697				btrfs_put_block_group(cache);
  4698	
  4699				btrfs_error_unpin_extent_range(fs_info, head->bytenr,
  4700					head->bytenr + head->num_bytes - 1);
  4701			}
  4702			btrfs_cleanup_ref_head_accounting(fs_info, delayed_refs, head);
  4703			btrfs_put_delayed_ref_head(head);
  4704			cond_resched();
  4705			spin_lock(&delayed_refs->lock);
  4706		}
  4707		btrfs_qgroup_destroy_extent_records(trans);
  4708	
  4709		spin_unlock(&delayed_refs->lock);
  4710	
  4711		return;
  4712	}
  4713	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (35068 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ