Hello,
thanks for the comments.
> I would suggest adding your analysis (i.e., the Evaluation section of
> the bug report) to code reviews you sent out to OpenSolaris. It
> helps understand why you made changes.
Ok, here is my evaluation as is in the bug report:
-------------
In /onnv-clone/usr/src/cmd/fs.d/nfs/mount/mount.c, we have
1384 static struct netbuf *
1385 get_the_addr(char *hostname, ulong_t prog, ulong_t vers,
...
1388 {
...
1495 if ((get_pubfh == TRUE) && (vers != NFS_V4)) {
...
1575 if (vers == NFS_VERSION) {
...
1596 } else {
1597 WNL_LOOKUP3args arg;
1598 WNL_LOOKUP3res res;
...
1615 fh3p->fh3_length =
1616 res.WNL_LOOKUP3res_u.res_ok.object.data.data_len;
1617 memcpy(fh3p->fh3_u.data,
1618 &res.WNL_LOOKUP3res_u.res_ok.object.data.data_val,
1619 fh3p->fh3_length);
...
The & at the beginning of 1618 doesn't seem right: the struct is defined as
struct wnl_fh3 {
struct {
u_int data_len;
char *data_val;
} data;
};
The bug is not reproducible on 10, which makes perfect sense, since we don't
have the '&' in s10 source.
-------------
> I have some questions:
>
> 1) What is the root cause here?
The root cause is a typo that had been done while preparing the
Nevada version of the fix for 6710019.
> Not this line of code, but why was this line of code changed
> in Nevada and not S10?
This line has been changed both in Nevada and S10, but this typo
has been done only in Nevada.
> Or was S10 somehow fixed earlier?
> If so, then something is broken because the fix should have occurred in
> Nevada first.
The fix came into Nevada at the end of September and the S10 fix
had been put back in November. I can only speculate why the typo is
present in Nevada and not in S10---a reasonable scenario is that the
S10 fix had been prepared in order to resolve a customer escalation,
then the Nevada fix was prepared (including the typo) and put back,
and after the soak period the original S10 fix was put back.
> 2) Why does the client have to be snv_100 or greater?
Because this is when the fix for 6710019 was integrated.
> Thanks,
> Tom
Thanks
Petr