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 --]
next prev parent 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.