linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Behrens <sbehrens@giantdisaster.de>
To: Fengguang Wu <fengguang.wu@intel.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: fs/btrfs/dev-replace.c:486:17: sparse: incompatible types in comparison expression (different address spaces)
Date: Thu, 08 Nov 2012 12:34:17 +0100	[thread overview]
Message-ID: <509B98B9.1020509@giantdisaster.de> (raw)
In-Reply-To: <20121108073541.GA30285@localhost>

On Thu, 8 Nov 2012 15:35:41 +0800, Fengguang Wu wrote:
> Hi Stefan,
> 
> FYI, there are new sparse warnings show up in
> 
> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git master
> head:   c1014be59ba93855c31fda9d9cf4319cc6f9eeb1
> commit: d8e784f51e2e1d1c57f091fdb49456c4e7fb62d2 Btrfs: add a new source file with device replace code
> date:   21 hours ago
> 
> + fs/btrfs/dev-replace.c:486:17: sparse: incompatible types in comparison expression (different address spaces)
> + fs/btrfs/dev-replace.c:486:17: sparse: incompatible types in comparison expression (different address spaces)
> fs/btrfs/dev-replace.c:745:17: sparse: incompatible types in comparison expression (different address spaces)
> fs/btrfs/dev-replace.c:745:17: sparse: incompatible types in comparison expression (different address spaces)
> fs/btrfs/dev-replace.c:766:30: sparse: too many arguments for function btrfs_scrub_dev
> fs/btrfs/dev-replace.c:407:30: sparse: too many arguments for function btrfs_scrub_dev
> fs/btrfs/dev-replace.c: In function 'btrfs_init_dev_replace':
> fs/btrfs/dev-replace.c:141:8: error: 'BTRFS_DEV_REPLACE_DEVID' undeclared (first use in this function)
> fs/btrfs/dev-replace.c:141:8: note: each undeclared identifier is reported only once for each function it appears in
> fs/btrfs/dev-replace.c:168:23: error: 'struct btrfs_device' has no member named 'is_tgtdev_for_dev_replace'
> fs/btrfs/dev-replace.c:169:4: error: implicit declaration of function 'btrfs_init_dev_replace_tgtdev_for_resume' [-Werror=implicit-function-declaration]
> fs/btrfs/dev-replace.c: In function 'btrfs_dev_replace_start':
> fs/btrfs/dev-replace.c:331:2: error: implicit declaration of function 'btrfs_init_dev_replace_tgtdev' [-Werror=implicit-function-declaration]
> fs/btrfs/dev-replace.c:409:10: error: too many arguments to function 'btrfs_scrub_dev'
> In file included from fs/btrfs/dev-replace.c:30:0:
> fs/btrfs/ctree.h:3648:5: note: declared here
> fs/btrfs/dev-replace.c:422:3: error: implicit declaration of function 'btrfs_destroy_dev_replace_tgtdev' [-Werror=implicit-function-declaration]
> fs/btrfs/dev-replace.c: In function 'btrfs_dev_replace_finishing':
> fs/btrfs/dev-replace.c:500:12: error: 'struct btrfs_device' has no member named 'is_tgtdev_for_dev_replace'
> fs/btrfs/dev-replace.c:502:22: error: 'BTRFS_DEV_REPLACE_DEVID' undeclared (first use in this function)
> fs/btrfs/dev-replace.c:516:2: error: implicit declaration of function 'btrfs_rm_dev_replace_srcdev' [-Werror=implicit-function-declaration]
> fs/btrfs/dev-replace.c: In function 'btrfs_resume_dev_replace_async':
> fs/btrfs/dev-replace.c:726:2: error: 'struct btrfs_fs_info' has no member named 'mutually_exclusive_operation_running'
> fs/btrfs/dev-replace.c: In function 'btrfs_dev_replace_kthread':
> fs/btrfs/dev-replace.c:756:21: error: 'struct btrfs_fs_info' has no member named 'mutually_exclusive_operation_running'
> fs/btrfs/dev-replace.c: In function 'btrfs_dev_replace_continue_on_mount':
> fs/btrfs/dev-replace.c:769:10: error: too many arguments to function 'btrfs_scrub_dev'
> In file included from fs/btrfs/dev-replace.c:30:0:
> fs/btrfs/ctree.h:3648:5: note: declared here
> cc1: some warnings being treated as errors
> 
> vim +486 fs/btrfs/dev-replace.c
> 
> d8e784f5 Stefan Behrens 2012-11-05  470  	}
> d8e784f5 Stefan Behrens 2012-11-05  471  	ret = btrfs_commit_transaction(trans, root);
> d8e784f5 Stefan Behrens 2012-11-05  472  	WARN_ON(ret);
> d8e784f5 Stefan Behrens 2012-11-05  473  
> d8e784f5 Stefan Behrens 2012-11-05  474  	/* keep away write_all_supers() during the finishing procedure */
> d8e784f5 Stefan Behrens 2012-11-05  475  	mutex_lock(&root->fs_info->fs_devices->device_list_mutex);
> d8e784f5 Stefan Behrens 2012-11-05  476  	btrfs_dev_replace_lock(dev_replace);
> d8e784f5 Stefan Behrens 2012-11-05  477  	dev_replace->replace_state =
> d8e784f5 Stefan Behrens 2012-11-05  478  		scrub_ret ? BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED
> d8e784f5 Stefan Behrens 2012-11-05  479  			  : BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED;
> d8e784f5 Stefan Behrens 2012-11-05  480  	dev_replace->tgtdev = NULL;
> d8e784f5 Stefan Behrens 2012-11-05  481  	dev_replace->srcdev = NULL;
> d8e784f5 Stefan Behrens 2012-11-05  482  	dev_replace->time_stopped = btrfs_get_seconds_since_1970();
> d8e784f5 Stefan Behrens 2012-11-05  483  	dev_replace->item_needs_writeback = 1;
> d8e784f5 Stefan Behrens 2012-11-05  484  
> d8e784f5 Stefan Behrens 2012-11-05  485  	if (scrub_ret) {
> d8e784f5 Stefan Behrens 2012-11-05 @486  		printk_in_rcu(KERN_ERR
> d8e784f5 Stefan Behrens 2012-11-05  487  			      "btrfs: btrfs_scrub_dev(%s, %llu, %s) failed %d\n",
> d8e784f5 Stefan Behrens 2012-11-05  488  			      rcu_str_deref(src_device->name),
> d8e784f5 Stefan Behrens 2012-11-05  489  			      src_device->devid,
> d8e784f5 Stefan Behrens 2012-11-05  490  			      rcu_str_deref(tgt_device->name), scrub_ret);
> d8e784f5 Stefan Behrens 2012-11-05  491  		btrfs_dev_replace_unlock(dev_replace);
> d8e784f5 Stefan Behrens 2012-11-05  492  		mutex_unlock(&root->fs_info->fs_devices->device_list_mutex);
> d8e784f5 Stefan Behrens 2012-11-05  493  		if (tgt_device)
> d8e784f5 Stefan Behrens 2012-11-05  494  			btrfs_destroy_dev_replace_tgtdev(fs_info, tgt_device);
> 

Hi Fengguang,

Assuming that your script performs a periodic git fetch and git reset,
and then starts compile runs on different architectures, the only
explanation that I have is that something went wrong with the git
operation in your script. It looks like some C source files have been
updated, but the header files are old. Some kind of inconsistency that
either a git reset --hard should fix, or rm -rf . and git clone to start
from the beginning.

Could you check it please?

And could you please point me to some documentation, how this (very
useful !) service from Intel is working?


  reply	other threads:[~2012-11-08 11:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <509b5327.UwD7JiNVjH75WdPI%yuanhan.liu@linux.intel.com>
2012-11-08  7:35 ` fs/btrfs/dev-replace.c:486:17: sparse: incompatible types in comparison expression (different address spaces) Fengguang Wu
2012-11-08 11:34   ` Stefan Behrens [this message]
2012-11-08 11:55     ` Fengguang Wu
2012-11-09 15:12   ` Stefan Behrens

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=509B98B9.1020509@giantdisaster.de \
    --to=sbehrens@giantdisaster.de \
    --cc=fengguang.wu@intel.com \
    --cc=linux-btrfs@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).