<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>You need to reconfigure/recompile ZFS in the new kernel. 7.4 added a macro for bio_set_op_attrs and it's conflicting with a definition in blkdev_compat.h because your source tree still thinks HAVE_BIO_SET_OP_ATTRS = 0<br>
</p>
<p><br>
</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p>​<br>
</p>
<pre style="white-space: pre-wrap;">Well, I have been able to build for the 7.3 and updates kernels, but I 
have yet to succeed in building against any 3.10.693.* kernel. I can 
update everything except the kernel and still build it.

I, for one, would love some feedback about what needs changed to build 
with the latest kernel. I get different errors than you, so it may be 
something different.


I tend to get

*/In file included from 
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/include/lustre_compat.h:39:0,/**/
/**/                 from 
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/include/lvfs.h:45,/**/
/**/                 from 
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/include/obd.h:53,/**/
/**/                 from 
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/osd-zfs/osd_handler.c:45:/**/
/**//usr/src/zfs-0.7.5/include/linux/blkdev_compat.h:412:18: error: 
expected identifier or '(' before 'struct'/**/
/**/ bio_set_op_attrs(struct bio *bio, unsigned rw, unsigned flags)/**/
/**/                  ^/**/
/**/include/linux/bio.h:48:44: note: in definition of macro 
'bio_set_op_attrs'/**/
/**/ #define bio_set_op_attrs(bio, op, flags) ((bio)->bi_rw |= (op | 
flags))/**/
/**/                                            ^/**/
/**/include/linux/bio.h:48:48: error: expected ')' before '->' token/**/
/**/ #define bio_set_op_attrs(bio, op, flags) ((bio)->bi_rw |= (op | 
flags))/**/
/**/                                                ^/**/
/**//usr/src/zfs-0.7.5/include/linux/blkdev_compat.h:412:1: note: in 
expansion of macro 'bio_set_op_attrs'/**/
/**/ bio_set_op_attrs(struct bio *bio, unsigned rw, unsigned flags)/**/
/*

**


Yet the same configure/make lines work if I merely boot kernel 
3.10.0-514.26.2


Brian Andrus<br></pre>
<p><br>
</p>
</blockquote>
</body>
</html>