[OpenAFS-devel] Where to put new header file

Ben Huntsman ben@huntsmans.net
Tue, 31 Jan 2023 17:17:40 +0000


--_000_MWHPR0701MB367472A6669B411D21F88225A7D09MWHPR0701MB3674_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Jeffrey-
   I looked at the _AIX_FULLOSF macro as well.  The problem is none of the =
kern/* headers are shipped either.  I agree that a bug should be filed with=
 IBM for the include of sys/libsysp.h, but I wouldn't expect them to do any=
thing about it in a timely fashion.  If that is the solution we need to ado=
pt, we will need to note that AIX 7300-00-00 through whatever TL/ML they fi=
x it in are not supported.

   I think based on this conversation though, I might look to see if we can=
 not need to include net/netisr.h on AIX 7.3.  After a quick look I'm not s=
ure we use very much from it anyway.

   Thanks much!

-Ben



________________________________
From: Jeffrey E Altman
Sent: Tuesday, January 31, 2023 8:23 AM
To: Ben Huntsman; openafs-devel@openafs.org
Subject: Re: [OpenAFS-devel] Where to put new header file

On 1/30/2023 6:33 PM, Ben Huntsman (ben@huntsmans.net<mailto:ben@huntsmans.=
net>) wrote:
   src/rx/AIX/rx_knet.c includes <net/netisr.h>.  However, on AIX 7.3 IBM a=
dded an include to <sys/libsysp.h> which they don't ship (it's not listed i=
n bos.content_list).  Here's the relevant section:

...
#ifdef  _KERNEL

#ifdef  _AIX_FULLOSF
#include "kern/queue.h"
#include "kern/thread.h"
#include "kern/sched_prim.h"
#else
#define EVENT_NETISR    0x0726
#include <sys/libsysp.h>        /* remque/insque */
#endif
...

   The only difference from earlier versions of AIX is the #include <sys/li=
bsysp.h>.  As you can see, there's no real way to use macros to escape from=
 it.  However, we don't really need anything in it for OpenAFS, so my propo=
sal would be to just create an empty sys/libsysp.h file within the OpenAFS =
source tree.  It would only be picked up by AIX 7.3 builds.  I tested this =
and it allows the compile to continue.  The question though is, where in th=
e tree should such file live?

   I would also welcome alternative suggestions.


Ben,


If IBM fails to ship a header that would appear to be a bug that should be =
reported to them.

However, I wonder if their expectation is that _AIX_FULLOSF is supposed to =
be defined.

Under what conditions is _AIX_FULLOSF defined?


Jeffrey Altman


--_000_MWHPR0701MB367472A6669B411D21F88225A7D09MWHPR0701MB3674_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
Hi Jeffrey-</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
&nbsp; &nbsp;I looked at the _AIX_FULLOSF macro as well.&nbsp; The problem =
is none of the kern/* headers are shipped either.&nbsp; I agree that a bug =
should be filed with IBM for the include of sys/libsysp.h, but I wouldn't e=
xpect them to do anything about it in a timely fashion.&nbsp;
 If that is the solution we need to adopt, we will need to note that AIX 73=
00-00-00 through whatever TL/ML they fix it in are not supported.&nbsp;&nbs=
p;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
&nbsp; &nbsp;I think based on this conversation though, I might look to see=
 if we can not need to include net/netisr.h on AIX 7.3.&nbsp; After a quick=
 look I'm not sure we use very much from it anyway.</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
&nbsp; &nbsp;Thanks much!</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
-Ben</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div>
<div><br>
</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0);">
<br>
<hr tabindex=3D"-1" style=3D"display:inline-block; width:98%;">
<b>From:</b> Jeffrey E Altman<br>
<b>Sent:</b> Tuesday, January 31, 2023 8:23 AM<br>
<b>To:</b> Ben Huntsman; openafs-devel@openafs.org<br>
<b>Subject:</b> Re: [OpenAFS-devel] Where to put new header file
<div><br>
</div>
</div>
<div class=3D"rps_baf6">
<div>
<div class=3D"x_moz-cite-prefix">On 1/30/2023 6:33 PM, Ben Huntsman (<a hre=
f=3D"mailto:ben@huntsmans.net" target=3D"_blank" rel=3D"noopener noreferrer=
" data-auth=3D"NotApplicable" class=3D"x_moz-txt-link-abbreviated" data-loo=
pstyle=3D"link">ben@huntsmans.net</a>) wrote:<br>
</div>
<blockquote type=3D"cite">&nbsp;&nbsp; src/rx/AIX/rx_knet.c includes &lt;ne=
t/netisr.h&gt;.&nbsp; However, on AIX 7.3 IBM added an include to &lt;sys/l=
ibsysp.h&gt; which they don't ship (it's not listed in bos.content_list).&n=
bsp; Here's the relevant section:
<div class=3D"x_elementToProof" style=3D"font-family:Calibri,Arial,Helvetic=
a,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,25=
5,255)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Calibri,Arial,Helvetic=
a,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,25=
5,255)">
...</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
#ifdef &nbsp;_KERNEL
<div><br class=3D"x_ContentPasted0">
</div>
<div class=3D"x_ContentPasted0">#ifdef &nbsp;_AIX_FULLOSF</div>
<div class=3D"x_ContentPasted0">#include &quot;kern/queue.h&quot;</div>
<div class=3D"x_ContentPasted0">#include &quot;kern/thread.h&quot;</div>
<div class=3D"x_ContentPasted0">#include &quot;kern/sched_prim.h&quot;</div=
>
<div class=3D"x_ContentPasted0">#else</div>
<div class=3D"x_ContentPasted0">#define EVENT_NETISR &nbsp; &nbsp;0x0726</d=
iv>
<div class=3D"x_ContentPasted0">#include &lt;sys/libsysp.h&gt; &nbsp; &nbsp=
; &nbsp; &nbsp;/* remque/insque */</div>
<div class=3D"x_ContentPasted0">#endif</div>
...</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
<br>
</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
&nbsp; &nbsp;The only difference from earlier versions of AIX is the #inclu=
de &lt;sys/libsysp.h&gt;.&nbsp; As you can see, there's no real way to use =
macros to escape from it.&nbsp; However, we don't really need anything in i=
t for OpenAFS, so my proposal would be to just create an empty
 sys/libsysp.h file within the OpenAFS source tree.&nbsp; It would only be =
picked up by AIX 7.3 builds.&nbsp; I tested this and it allows the compile =
to continue.&nbsp; The question though is, where in the tree should such fi=
le live?</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
<br>
</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
&nbsp; &nbsp;I would also welcome alternative suggestions.</div>
</blockquote>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">Ben,</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">If IBM fails to ship a he=
ader that would appear to be a bug that should be reported to them.</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">However, I wonder if thei=
r expectation is that _AIX_FULLOSF is supposed to be defined.</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">Under what conditions is =
_AIX_FULLOSF defined?</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">Jeffrey Altman</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
</div>
</div>
</div>
</body>
</html>

--_000_MWHPR0701MB367472A6669B411D21F88225A7D09MWHPR0701MB3674_--