* [hch-block:blkdev.h-includes 7/8] drivers/md/dm-table.c:1100:11: error: implicit declaration of function 'blk_get_integrity'
@ 2021-09-04 14:52 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-09-04 14:52 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 27800 bytes --]
tree: git://git.infradead.org/users/hch/block.git blkdev.h-includes
head: c404937ee66601b9936ecbe31d7f24a396ead2c2
commit: 4cff104f02339e4b1f8f65fe2dff8f6c07c1784b [7/8] block: move integrity handling out of <linux/blkdev.h>
config: mips-randconfig-r031-20210904 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6fe2beba7d2a41964af658c8c59dd172683ef739)
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
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
git remote add hch-block git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block blkdev.h-includes
git checkout 4cff104f02339e4b1f8f65fe2dff8f6c07c1784b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/md/dm-table.c:1100:11: error: implicit declaration of function 'blk_get_integrity' [-Werror,-Wimplicit-function-declaration]
return !!blk_get_integrity(disk);
^
>> drivers/md/dm-table.c:1125:5: error: implicit declaration of function 'blk_integrity_compare' [-Werror,-Wimplicit-function-declaration]
blk_integrity_compare(prev_disk, template_disk) < 0)
^
>> drivers/md/dm-table.c:1170:3: error: implicit declaration of function 'blk_integrity_register' [-Werror,-Wimplicit-function-declaration]
blk_integrity_register(dm_disk(md),
^
drivers/md/dm-table.c:1171:12: error: implicit declaration of function 'blk_get_integrity' [-Werror,-Wimplicit-function-declaration]
blk_get_integrity(template_disk));
^
drivers/md/dm-table.c:1179:6: error: implicit declaration of function 'blk_integrity_compare' [-Werror,-Wimplicit-function-declaration]
if (blk_integrity_compare(dm_disk(md), template_disk) < 0) {
^
drivers/md/dm-table.c:1755:7: error: implicit declaration of function 'blk_integrity_compare' [-Werror,-Wimplicit-function-declaration]
blk_integrity_compare(dm_disk(t->md), template_disk) >= 0)
^
>> drivers/md/dm-table.c:1762:3: error: implicit declaration of function 'blk_integrity_unregister' [-Werror,-Wimplicit-function-declaration]
blk_integrity_unregister(dm_disk(t->md));
^
drivers/md/dm-table.c:1762:3: note: did you mean 'blkcg_policy_unregister'?
include/linux/blk-cgroup.h:190:6: note: 'blkcg_policy_unregister' declared here
void blkcg_policy_unregister(struct blkcg_policy *pol);
^
7 errors generated.
--
>> drivers/md/dm-crypt.c:1164:29: error: implicit declaration of function 'blk_get_integrity' [-Werror,-Wimplicit-function-declaration]
struct blk_integrity *bi = blk_get_integrity(cc->dev->bdev->bd_disk);
^
>> drivers/md/dm-crypt.c:1164:24: warning: incompatible integer to pointer conversion initializing 'struct blk_integrity *' with an expression of type 'int' [-Wint-conversion]
struct blk_integrity *bi = blk_get_integrity(cc->dev->bdev->bd_disk);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/md/dm-crypt.c:1168:35: error: incomplete definition of type 'struct blk_integrity_profile'
if (!bi || strcasecmp(bi->profile->name, "DM-DIF-EXT-TAG")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
>> drivers/md/dm-crypt.c:1168:35: error: incomplete definition of type 'struct blk_integrity_profile'
if (!bi || strcasecmp(bi->profile->name, "DM-DIF-EXT-TAG")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
>> drivers/md/dm-crypt.c:1168:35: error: incomplete definition of type 'struct blk_integrity_profile'
if (!bi || strcasecmp(bi->profile->name, "DM-DIF-EXT-TAG")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
1 warning and 4 errors generated.
--
>> drivers/scsi/sd_dif.c:54:15: error: use of undeclared identifier 'BLK_INTEGRITY_IP_CHECKSUM'
bi.flags |= BLK_INTEGRITY_IP_CHECKSUM;
^
>> drivers/scsi/sd_dif.c:63:47: error: incomplete definition of type 'struct blk_integrity_profile'
"Enabling DIX %s protection\n", bi.profile->name);
~~~~~~~~~~^
drivers/scsi/sd.h:139:38: note: expanded from macro 'sd_printk'
(sdsk)->disk->disk_name, fmt, ##a) : \
^
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
>> drivers/scsi/sd_dif.c:63:47: error: incomplete definition of type 'struct blk_integrity_profile'
"Enabling DIX %s protection\n", bi.profile->name);
~~~~~~~~~~^
drivers/scsi/sd.h:140:51: note: expanded from macro 'sd_printk'
sdev_printk(prefix, (sdsk)->device, fmt, ##a)
^
include/scsi/scsi_device.h:269:43: note: expanded from macro 'sdev_printk'
sdev_prefix_printk(l, sdev, NULL, fmt, ##a)
^
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
>> drivers/scsi/sd_dif.c:66:15: error: use of undeclared identifier 'BLK_INTEGRITY_DEVICE_CAPABLE'
bi.flags |= BLK_INTEGRITY_DEVICE_CAPABLE;
^
>> drivers/scsi/sd_dif.c:81:2: error: implicit declaration of function 'blk_integrity_register' [-Werror,-Wimplicit-function-declaration]
blk_integrity_register(disk, &bi);
^
5 errors generated.
--
>> drivers/target/target_core_iblock.c:138:7: error: implicit declaration of function 'bdev_get_integrity' [-Werror,-Wimplicit-function-declaration]
bi = bdev_get_integrity(bd);
^
>> drivers/target/target_core_iblock.c:138:5: warning: incompatible integer to pointer conversion assigning to 'struct blk_integrity *' from 'int' [-Wint-conversion]
bi = bdev_get_integrity(bd);
^ ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/target/target_core_iblock.c:142:26: error: incomplete definition of type 'struct blk_integrity_profile'
if (!strcmp(bi->profile->name, "T10-DIF-TYPE3-IP") ||
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:143:26: error: incomplete definition of type 'struct blk_integrity_profile'
!strcmp(bi->profile->name, "T10-DIF-TYPE1-IP")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
>> drivers/target/target_core_iblock.c:142:26: error: incomplete definition of type 'struct blk_integrity_profile'
if (!strcmp(bi->profile->name, "T10-DIF-TYPE3-IP") ||
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:143:26: error: incomplete definition of type 'struct blk_integrity_profile'
!strcmp(bi->profile->name, "T10-DIF-TYPE1-IP")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
>> drivers/target/target_core_iblock.c:142:26: error: incomplete definition of type 'struct blk_integrity_profile'
if (!strcmp(bi->profile->name, "T10-DIF-TYPE3-IP") ||
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:143:26: error: incomplete definition of type 'struct blk_integrity_profile'
!strcmp(bi->profile->name, "T10-DIF-TYPE1-IP")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:145:38: error: incomplete definition of type 'struct blk_integrity_profile'
" supported\n", bi->profile->name);
~~~~~~~~~~~^
include/linux/printk.h:489:33: note: expanded from macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:150:26: error: incomplete definition of type 'struct blk_integrity_profile'
if (!strcmp(bi->profile->name, "T10-DIF-TYPE3-CRC")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:150:26: error: incomplete definition of type 'struct blk_integrity_profile'
if (!strcmp(bi->profile->name, "T10-DIF-TYPE3-CRC")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:150:26: error: incomplete definition of type 'struct blk_integrity_profile'
if (!strcmp(bi->profile->name, "T10-DIF-TYPE3-CRC")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:152:33: error: incomplete definition of type 'struct blk_integrity_profile'
} else if (!strcmp(bi->profile->name, "T10-DIF-TYPE1-CRC")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/genhd.h:120:15: note: forward declaration of 'struct blk_integrity_profile'
const struct blk_integrity_profile *profile;
^
drivers/target/target_core_iblock.c:152:33: error: incomplete definition of type 'struct blk_integrity_profile'
} else if (!strcmp(bi->profile->name, "T10-DIF-TYPE1-CRC")) {
~~~~~~~~~~~^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
vim +/blk_get_integrity +1100 drivers/md/dm-table.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 1097
25520d55cdb6ee Martin K. Petersen 2015-10-21 1098 static bool integrity_profile_exists(struct gendisk *disk)
25520d55cdb6ee Martin K. Petersen 2015-10-21 1099 {
25520d55cdb6ee Martin K. Petersen 2015-10-21 @1100 return !!blk_get_integrity(disk);
25520d55cdb6ee Martin K. Petersen 2015-10-21 1101 }
25520d55cdb6ee Martin K. Petersen 2015-10-21 1102
a63a5cf84dac7a Mike Snitzer 2011-04-01 1103 /*
a63a5cf84dac7a Mike Snitzer 2011-04-01 1104 * Get a disk whose integrity profile reflects the table's profile.
a63a5cf84dac7a Mike Snitzer 2011-04-01 1105 * Returns NULL if integrity support was inconsistent or unavailable.
a63a5cf84dac7a Mike Snitzer 2011-04-01 1106 */
25520d55cdb6ee Martin K. Petersen 2015-10-21 1107 static struct gendisk * dm_table_get_integrity_disk(struct dm_table *t)
a63a5cf84dac7a Mike Snitzer 2011-04-01 1108 {
a63a5cf84dac7a Mike Snitzer 2011-04-01 1109 struct list_head *devices = dm_table_get_devices(t);
a63a5cf84dac7a Mike Snitzer 2011-04-01 1110 struct dm_dev_internal *dd = NULL;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1111 struct gendisk *prev_disk = NULL, *template_disk = NULL;
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1112 unsigned i;
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1113
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1114 for (i = 0; i < dm_table_get_num_targets(t); i++) {
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1115 struct dm_target *ti = dm_table_get_target(t, i);
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1116 if (!dm_target_passes_integrity(ti->type))
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1117 goto no_integrity;
e2460f2a4bc740 Mikulas Patocka 2017-04-18 1118 }
a63a5cf84dac7a Mike Snitzer 2011-04-01 1119
a63a5cf84dac7a Mike Snitzer 2011-04-01 1120 list_for_each_entry(dd, devices, list) {
86f1152b117a40 Benjamin Marzinski 2014-08-13 1121 template_disk = dd->dm_dev->bdev->bd_disk;
25520d55cdb6ee Martin K. Petersen 2015-10-21 1122 if (!integrity_profile_exists(template_disk))
a63a5cf84dac7a Mike Snitzer 2011-04-01 1123 goto no_integrity;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1124 else if (prev_disk &&
a63a5cf84dac7a Mike Snitzer 2011-04-01 @1125 blk_integrity_compare(prev_disk, template_disk) < 0)
a63a5cf84dac7a Mike Snitzer 2011-04-01 1126 goto no_integrity;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1127 prev_disk = template_disk;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1128 }
a63a5cf84dac7a Mike Snitzer 2011-04-01 1129
a63a5cf84dac7a Mike Snitzer 2011-04-01 1130 return template_disk;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1131
a63a5cf84dac7a Mike Snitzer 2011-04-01 1132 no_integrity:
a63a5cf84dac7a Mike Snitzer 2011-04-01 1133 if (prev_disk)
a63a5cf84dac7a Mike Snitzer 2011-04-01 1134 DMWARN("%s: integrity not set: %s and %s profile mismatch",
a63a5cf84dac7a Mike Snitzer 2011-04-01 1135 dm_device_name(t->md),
a63a5cf84dac7a Mike Snitzer 2011-04-01 1136 prev_disk->disk_name,
a63a5cf84dac7a Mike Snitzer 2011-04-01 1137 template_disk->disk_name);
a63a5cf84dac7a Mike Snitzer 2011-04-01 1138 return NULL;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1139 }
a63a5cf84dac7a Mike Snitzer 2011-04-01 1140
26803b9f06d365 Will Drewry 2010-08-12 1141 /*
25520d55cdb6ee Martin K. Petersen 2015-10-21 1142 * Register the mapped device for blk_integrity support if the
25520d55cdb6ee Martin K. Petersen 2015-10-21 1143 * underlying devices have an integrity profile. But all devices may
25520d55cdb6ee Martin K. Petersen 2015-10-21 1144 * not have matching profiles (checking all devices isn't reliable
a63a5cf84dac7a Mike Snitzer 2011-04-01 1145 * during table load because this table may use other DM device(s) which
25520d55cdb6ee Martin K. Petersen 2015-10-21 1146 * must be resumed before they will have an initialized integity
25520d55cdb6ee Martin K. Petersen 2015-10-21 1147 * profile). Consequently, stacked DM devices force a 2 stage integrity
25520d55cdb6ee Martin K. Petersen 2015-10-21 1148 * profile validation: First pass during table load, final pass during
25520d55cdb6ee Martin K. Petersen 2015-10-21 1149 * resume.
26803b9f06d365 Will Drewry 2010-08-12 1150 */
25520d55cdb6ee Martin K. Petersen 2015-10-21 1151 static int dm_table_register_integrity(struct dm_table *t)
26803b9f06d365 Will Drewry 2010-08-12 1152 {
25520d55cdb6ee Martin K. Petersen 2015-10-21 1153 struct mapped_device *md = t->md;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1154 struct gendisk *template_disk = NULL;
26803b9f06d365 Will Drewry 2010-08-12 1155
9b4b5a797cf8a8 Milan Broz 2017-01-04 1156 /* If target handles integrity itself do not register it here. */
9b4b5a797cf8a8 Milan Broz 2017-01-04 1157 if (t->integrity_added)
9b4b5a797cf8a8 Milan Broz 2017-01-04 1158 return 0;
9b4b5a797cf8a8 Milan Broz 2017-01-04 1159
25520d55cdb6ee Martin K. Petersen 2015-10-21 1160 template_disk = dm_table_get_integrity_disk(t);
a63a5cf84dac7a Mike Snitzer 2011-04-01 1161 if (!template_disk)
a63a5cf84dac7a Mike Snitzer 2011-04-01 1162 return 0;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1163
25520d55cdb6ee Martin K. Petersen 2015-10-21 1164 if (!integrity_profile_exists(dm_disk(md))) {
e83068a5faafb8 Mike Snitzer 2016-05-24 1165 t->integrity_supported = true;
25520d55cdb6ee Martin K. Petersen 2015-10-21 1166 /*
25520d55cdb6ee Martin K. Petersen 2015-10-21 1167 * Register integrity profile during table load; we can do
25520d55cdb6ee Martin K. Petersen 2015-10-21 1168 * this because the final profile must match during resume.
25520d55cdb6ee Martin K. Petersen 2015-10-21 1169 */
25520d55cdb6ee Martin K. Petersen 2015-10-21 @1170 blk_integrity_register(dm_disk(md),
25520d55cdb6ee Martin K. Petersen 2015-10-21 1171 blk_get_integrity(template_disk));
25520d55cdb6ee Martin K. Petersen 2015-10-21 1172 return 0;
a91a2785b20086 Martin K. Petersen 2011-03-17 1173 }
26803b9f06d365 Will Drewry 2010-08-12 1174
a63a5cf84dac7a Mike Snitzer 2011-04-01 1175 /*
25520d55cdb6ee Martin K. Petersen 2015-10-21 1176 * If DM device already has an initialized integrity
a63a5cf84dac7a Mike Snitzer 2011-04-01 1177 * profile the new profile should not conflict.
a63a5cf84dac7a Mike Snitzer 2011-04-01 1178 */
25520d55cdb6ee Martin K. Petersen 2015-10-21 1179 if (blk_integrity_compare(dm_disk(md), template_disk) < 0) {
a63a5cf84dac7a Mike Snitzer 2011-04-01 1180 DMWARN("%s: conflict with existing integrity profile: "
a63a5cf84dac7a Mike Snitzer 2011-04-01 1181 "%s profile mismatch",
a63a5cf84dac7a Mike Snitzer 2011-04-01 1182 dm_device_name(t->md),
a63a5cf84dac7a Mike Snitzer 2011-04-01 1183 template_disk->disk_name);
a63a5cf84dac7a Mike Snitzer 2011-04-01 1184 return 1;
a63a5cf84dac7a Mike Snitzer 2011-04-01 1185 }
a63a5cf84dac7a Mike Snitzer 2011-04-01 1186
25520d55cdb6ee Martin K. Petersen 2015-10-21 1187 /* Preserve existing integrity profile */
e83068a5faafb8 Mike Snitzer 2016-05-24 1188 t->integrity_supported = true;
26803b9f06d365 Will Drewry 2010-08-12 1189 return 0;
26803b9f06d365 Will Drewry 2010-08-12 1190 }
26803b9f06d365 Will Drewry 2010-08-12 1191
:::::: The code at line 1100 was first introduced by commit
:::::: 25520d55cdb6ee289abc68f553d364d22478ff54 block: Inline blk_integrity in struct gendisk
:::::: TO: Martin K. Petersen <martin.petersen@oracle.com>
:::::: CC: Jens Axboe <axboe@fb.com>
---
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: 27784 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-04 14:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-04 14:52 [hch-block:blkdev.h-includes 7/8] drivers/md/dm-table.c:1100:11: error: implicit declaration of function 'blk_get_integrity' kernel test robot
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.