All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v5 4/6] dm: new ioctl DM_DEV_REMAP_CMD
Date: Wed, 10 Feb 2021 14:54:46 +0800	[thread overview]
Message-ID: <202102101403.HZu5jZb9-lkp@intel.com> (raw)
In-Reply-To: <1612881028-7878-5-git-send-email-sergei.shtepa@veeam.com>

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

Hi Sergei,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on lwn/docs-next]
[also build test ERROR on linus/master v5.11-rc7 next-20210125]
[cannot apply to dm/for-next block/for-next]
[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/Sergei-Shtepa/block-layer-interposer/20210209-223704
base:   git://git.lwn.net/linux-2.6 docs-next
config: x86_64-rhel-8.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/2dbb264e739c9f95b90e4ea2a0cdb5d874628746
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Sergei-Shtepa/block-layer-interposer/20210209-223704
        git checkout 2dbb264e739c9f95b90e4ea2a0cdb5d874628746
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

Note: the linux-review/Sergei-Shtepa/block-layer-interposer/20210209-223704 HEAD a0be3a113742b603fe383ca9a97978f9815a8283 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   drivers/md/dm.c: In function 'open_table_device':
>> drivers/md/dm.c:1108:12: error: 'struct dm_dev' has no member named 'non_exclusive'
    1108 |  td->dm_dev.non_exclusive = non_exclusive;
         |            ^
   drivers/md/dm.c: In function 'dm_get_table_device':
>> drivers/md/dm.c:1157:12: error: too few arguments to function 'open_table_device'
    1157 |   if ((r = open_table_device(td, dev, md))) {
         |            ^~~~~~~~~~~~~~~~~
   drivers/md/dm.c:1079:12: note: declared here
    1079 | static int open_table_device(struct table_device *td, dev_t dev,
         |            ^~~~~~~~~~~~~~~~~


vim +1108 drivers/md/dm.c

  1075	
  1076	/*
  1077	 * Open a table device so we can use it as a map destination.
  1078	 */
  1079	static int open_table_device(struct table_device *td, dev_t dev,
  1080				     struct mapped_device *md, bool non_exclusive)
  1081	{
  1082		struct block_device *bdev;
  1083		int ret;
  1084	
  1085		BUG_ON(td->dm_dev.bdev);
  1086	
  1087		if (non_exclusive)
  1088			bdev = blkdev_get_by_dev(dev, td->dm_dev.mode, NULL);
  1089		else
  1090			bdev = blkdev_get_by_dev(dev, td->dm_dev.mode | FMODE_EXCL, _dm_claim_ptr);
  1091	
  1092		if (IS_ERR(bdev)) {
  1093			ret = PTR_ERR(bdev);
  1094			if (ret != -EBUSY)
  1095				return ret;
  1096		}
  1097	
  1098		if (!non_exclusive) {
  1099			ret = bd_link_disk_holder(bdev, dm_disk(md));
  1100			if (ret) {
  1101				blkdev_put(bdev, td->dm_dev.mode);
  1102				return ret;
  1103			}
  1104		}
  1105	
  1106		td->dm_dev.bdev = bdev;
  1107		td->dm_dev.dax_dev = dax_get_by_host(bdev->bd_disk->disk_name);
> 1108		td->dm_dev.non_exclusive = non_exclusive;
  1109		return 0;
  1110	}
  1111	
  1112	/*
  1113	 * Close a table device that we've been using.
  1114	 */
  1115	static void close_table_device(struct table_device *td, struct mapped_device *md)
  1116	{
  1117		if (!td->dm_dev.bdev)
  1118			return;
  1119	
  1120		bd_unlink_disk_holder(td->dm_dev.bdev, dm_disk(md));
  1121		blkdev_put(td->dm_dev.bdev, td->dm_dev.mode | FMODE_EXCL);
  1122		put_dax(td->dm_dev.dax_dev);
  1123		td->dm_dev.bdev = NULL;
  1124		td->dm_dev.dax_dev = NULL;
  1125	}
  1126	
  1127	static struct table_device *find_table_device(struct list_head *l, dev_t dev,
  1128						      fmode_t mode)
  1129	{
  1130		struct table_device *td;
  1131	
  1132		list_for_each_entry(td, l, list)
  1133			if (td->dm_dev.bdev->bd_dev == dev && td->dm_dev.mode == mode)
  1134				return td;
  1135	
  1136		return NULL;
  1137	}
  1138	
  1139	int dm_get_table_device(struct mapped_device *md, dev_t dev, fmode_t mode,
  1140				struct dm_dev **result)
  1141	{
  1142		int r;
  1143		struct table_device *td;
  1144	
  1145		mutex_lock(&md->table_devices_lock);
  1146		td = find_table_device(&md->table_devices, dev, mode);
  1147		if (!td) {
  1148			td = kmalloc_node(sizeof(*td), GFP_KERNEL, md->numa_node_id);
  1149			if (!td) {
  1150				mutex_unlock(&md->table_devices_lock);
  1151				return -ENOMEM;
  1152			}
  1153	
  1154			td->dm_dev.mode = mode;
  1155			td->dm_dev.bdev = NULL;
  1156	
> 1157			if ((r = open_table_device(td, dev, md))) {
  1158				mutex_unlock(&md->table_devices_lock);
  1159				kfree(td);
  1160				return r;
  1161			}
  1162	
  1163			format_dev_t(td->dm_dev.name, dev);
  1164	
  1165			refcount_set(&td->count, 1);
  1166			list_add(&td->list, &md->table_devices);
  1167		} else {
  1168			refcount_inc(&td->count);
  1169		}
  1170		mutex_unlock(&md->table_devices_lock);
  1171	
  1172		*result = &td->dm_dev;
  1173		return 0;
  1174	}
  1175	EXPORT_SYMBOL_GPL(dm_get_table_device);
  1176	

---
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: 41503 bytes --]

  reply	other threads:[~2021-02-10  6:54 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09 14:30 [PATCH v5 0/6] block-layer interposer Sergei Shtepa
2021-02-09 14:30 ` [dm-devel] " Sergei Shtepa
2021-02-09 14:30 ` [PATCH v5 1/6] docs: device-mapper: add remap_and_filter Sergei Shtepa
2021-02-09 14:30   ` [dm-devel] " Sergei Shtepa
2021-02-09 14:30 ` [PATCH v5 2/6] block: add blk_mq_is_queue_frozen() Sergei Shtepa
2021-02-09 14:30   ` [dm-devel] " Sergei Shtepa
2021-02-09 14:30 ` [PATCH v5 3/6] block: add blk_interposer Sergei Shtepa
2021-02-09 14:30   ` [dm-devel] " Sergei Shtepa
2021-02-09 14:30 ` [PATCH v5 4/6] dm: new ioctl DM_DEV_REMAP_CMD Sergei Shtepa
2021-02-09 14:30   ` [dm-devel] " Sergei Shtepa
2021-02-10  6:54   ` kernel test robot [this message]
2021-02-12 16:13   ` Mike Snitzer
2021-02-12 16:13     ` [dm-devel] " Mike Snitzer
2021-02-09 14:30 ` [PATCH v5 5/6] dm: add 'noexcl' option for dm-linear Sergei Shtepa
2021-02-09 14:30   ` [dm-devel] " Sergei Shtepa
2021-02-11 17:51   ` Mike Snitzer
2021-02-11 17:51     ` [dm-devel] " Mike Snitzer
2021-02-12 11:34     ` Sergei Shtepa
2021-02-12 11:34       ` [dm-devel] " Sergei Shtepa
2021-02-12 16:06       ` Mike Snitzer
2021-02-12 16:06         ` [dm-devel] " Mike Snitzer
2021-02-15 10:34         ` Sergei Shtepa
2021-02-15 10:34           ` [dm-devel] " Sergei Shtepa
2021-02-15 16:08           ` Mike Snitzer
2021-02-15 16:08             ` [dm-devel] " Mike Snitzer
2021-02-24 10:46             ` Sergei Shtepa
2021-02-24 10:46               ` [dm-devel] " Sergei Shtepa
2021-02-09 14:30 ` [PATCH v5 6/6] docs: device-mapper: " Sergei Shtepa
2021-02-09 14:30   ` [dm-devel] " Sergei Shtepa

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=202102101403.HZu5jZb9-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.