All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [kdave-btrfs-devel:misc-next 200/208] fs/btrfs/ioctl.c:1761:16: error: incompatible type for argument 5 of 'btrfs_mksubvol'
Date: Tue, 24 Mar 2020 02:10:25 +0800	[thread overview]
Message-ID: <202003240209.2itH8a5R%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4674 bytes --]

tree:   https://github.com/kdave/btrfs-devel.git misc-next
head:   abdd9feb45ed7e9cc55b60a58deba9ca78d46352
commit: 5d54c67eccb489b25e433bd98a5622e3a1195a8b [200/208] btrfs: Remove transid argument from btrfs_ioctl_snap_create_transid
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 5d54c67eccb489b25e433bd98a5622e3a1195a8b
        # save the attached .config to linux build tree
        GCC_VERSION=9.2.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

Note: the kdave-btrfs-devel/misc-next HEAD abdd9feb45ed7e9cc55b60a58deba9ca78d46352 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   fs/btrfs/ioctl.c: In function '__btrfs_ioctl_snap_create':
>> fs/btrfs/ioctl.c:1761:16: error: incompatible type for argument 5 of 'btrfs_mksubvol'
    1761 |          NULL, readonly, inherit);
         |                ^~~~~~~~
         |                |
         |                bool {aka _Bool}
   fs/btrfs/ioctl.c:949:13: note: expected 'u64 *' {aka 'long long unsigned int *'} but argument is of type 'bool' {aka '_Bool'}
     949 |        u64 *async_transid, bool readonly,
         |        ~~~~~^~~~~~~~~~~~~
>> fs/btrfs/ioctl.c:1760:9: error: too few arguments to function 'btrfs_mksubvol'
    1760 |   ret = btrfs_mksubvol(&file->f_path, name, namelen,
         |         ^~~~~~~~~~~~~~
   fs/btrfs/ioctl.c:946:21: note: declared here
     946 | static noinline int btrfs_mksubvol(const struct path *parent,
         |                     ^~~~~~~~~~~~~~
   fs/btrfs/ioctl.c:1784:11: error: incompatible type for argument 5 of 'btrfs_mksubvol'
    1784 |           readonly, inherit);
         |           ^~~~~~~~
         |           |
         |           bool {aka _Bool}
   fs/btrfs/ioctl.c:949:13: note: expected 'u64 *' {aka 'long long unsigned int *'} but argument is of type 'bool' {aka '_Bool'}
     949 |        u64 *async_transid, bool readonly,
         |        ~~~~~^~~~~~~~~~~~~
   fs/btrfs/ioctl.c:1782:10: error: too few arguments to function 'btrfs_mksubvol'
    1782 |    ret = btrfs_mksubvol(&file->f_path, name, namelen,
         |          ^~~~~~~~~~~~~~
   fs/btrfs/ioctl.c:946:21: note: declared here
     946 | static noinline int btrfs_mksubvol(const struct path *parent,
         |                     ^~~~~~~~~~~~~~

vim +/btrfs_mksubvol +1761 fs/btrfs/ioctl.c

  1731	
  1732	static noinline int __btrfs_ioctl_snap_create(struct file *file,
  1733					const char *name, unsigned long fd, int subvol,
  1734					bool readonly,
  1735					struct btrfs_qgroup_inherit *inherit)
  1736	{
  1737		int namelen;
  1738		int ret = 0;
  1739	
  1740		if (!S_ISDIR(file_inode(file)->i_mode))
  1741			return -ENOTDIR;
  1742	
  1743		ret = mnt_want_write_file(file);
  1744		if (ret)
  1745			goto out;
  1746	
  1747		namelen = strlen(name);
  1748		if (strchr(name, '/')) {
  1749			ret = -EINVAL;
  1750			goto out_drop_write;
  1751		}
  1752	
  1753		if (name[0] == '.' &&
  1754		   (namelen == 1 || (name[1] == '.' && namelen == 2))) {
  1755			ret = -EEXIST;
  1756			goto out_drop_write;
  1757		}
  1758	
  1759		if (subvol) {
> 1760			ret = btrfs_mksubvol(&file->f_path, name, namelen,
> 1761					     NULL, readonly, inherit);
  1762		} else {
  1763			struct fd src = fdget(fd);
  1764			struct inode *src_inode;
  1765			if (!src.file) {
  1766				ret = -EINVAL;
  1767				goto out_drop_write;
  1768			}
  1769	
  1770			src_inode = file_inode(src.file);
  1771			if (src_inode->i_sb != file_inode(file)->i_sb) {
  1772				btrfs_info(BTRFS_I(file_inode(file))->root->fs_info,
  1773					   "Snapshot src from another FS");
  1774				ret = -EXDEV;
  1775			} else if (!inode_owner_or_capable(src_inode)) {
  1776				/*
  1777				 * Subvolume creation is not restricted, but snapshots
  1778				 * are limited to own subvolumes only
  1779				 */
  1780				ret = -EPERM;
  1781			} else {
  1782				ret = btrfs_mksubvol(&file->f_path, name, namelen,
  1783						     BTRFS_I(src_inode)->root,
  1784						     readonly, inherit);
  1785			}
  1786			fdput(src);
  1787		}
  1788	out_drop_write:
  1789		mnt_drop_write_file(file);
  1790	out:
  1791		return ret;
  1792	}
  1793	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25785 bytes --]

                 reply	other threads:[~2020-03-23 18:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202003240209.2itH8a5R%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.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 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.