to be able to build Lustre against kernels with no blk integrity.
Change-Id: I050020e94524f4519fdf46a22f0d847979754291
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/32725
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
#define READ_ONCE ACCESS_ONCE
#endif
+#ifdef HAVE_BLK_INTEGRITY_ENABLED
static inline unsigned short blk_integrity_interval(struct blk_integrity *bi)
{
#ifdef HAVE_INTERVAL_EXP_BLK_INTEGRITY
return bi->name;
#endif
}
+#else
+static inline unsigned short blk_integrity_interval(struct blk_integrity *bi)
+{
+ return 0;
+}
+static inline const char *blk_integrity_name(struct blk_integrity *bi)
+{
+ /* gcc8 dislikes when strcmp() is called against NULL */
+ return "";
+}
+#endif
#endif /* _LUSTRE_COMPAT_H */
{
struct osd_device *d = osd_dt_dev(dev);
struct super_block *sb = osd_sb(d);
- struct block_device *bdev = sb->s_bdev;
- struct blk_integrity *bi = bdev_get_integrity(bdev);
- unsigned short interval;
- int ea_overhead;
+ struct blk_integrity *bi = bdev_get_integrity(sb->s_bdev);
const char *name;
+ int ea_overhead;
/*
* XXX should be taken from not-yet-existing fs abstraction layer.
param->ddp_t10_cksum_type = 0;
if (bi) {
- interval = blk_integrity_interval(bi);
+ unsigned short interval = blk_integrity_interval(bi);
name = blk_integrity_name(bi);
/*
* Expected values: