Subject: Re: bin/27287 (amd 'xlatecookie' not working in netbsd-1-6)
To: Rui Paulo <rpaulo@fnop.net>
From: Hauke Fath <hf@spg.tu-darmstadt.de>
List: netbsd-bugs
Date: 01/13/2006 19:42:58
Am 13.01.2006 um 13:44 Uhr +0000 schrieb Rui Paulo:
>On 2006.01.13 14:36:14 +0100, Hauke Fath wrote:
>| Then closing the PR while referring to netbsd-2 is wrong, since the
>| bug could be fixed in time for 1.6.3.
>
>I don't think it will. At least, I'm not going to do it.
>If someone else does it, fine.

Okay, I think I nailed it down.

The story goes like this:

When you look at Mark Davies' PR 17245 and compare the patch against 
dist/am-utils/libamu/mount_fs.c with what was actually pulled up to 
netbsd-1-6, you'll see that the second part of the patch (the 
"nap->flags |= MNT2_NFS_OPT_XLATECOOKIE;" part) did not go into 
netbsd-1-6.

The PR 17245 log says about the pull-up:

  Log Message:
  Pull up revisions 1.4-1.5 (requested by tron in ticket #624):
    Add new option ``xlatecookie'' to amd(8), to support NFSv3
    mounts with cookie translation.  Fixes PR#17245.

This should have been revision 1.4 only. The 1.5 commit removes a 
part which obviously was submitted to the am-utils project, and was 
included with a later import (cvs annotate says revision 1.7), in 
time for netbsd-2. In fact, the 1.5 change breaks the fix to PR 17245.

Bottom line: Undoing the 1.5 change on the netbsd-1-6 branch fixes PR 
27287, verified by running Matlab R13 from an NFS share before/after 
the following patch:

Index: mount_fs.c
===================================================================
RCS file: /cvsroot/src/dist/am-utils/libamu/mount_fs.c,v
retrieving revision 1.3.2.1
diff -u -r1.3.2.1 mount_fs.c
--- mount_fs.c  16 Nov 2002 09:14:38 -0000      1.3.2.1
+++ mount_fs.c  13 Jan 2006 18:38:05 -0000
@@ -720,6 +720,11 @@
      nap->flags |= MNT2_NFS_OPT_MAXGRPS;
  #endif /* defined(MNT2_NFS_OPT_MAXGRPS) && defined(MNTTAB_OPT_MAXGROUPS) */

+#if defined(MNT2_NFS_OPT_XLATECOOKIE) && defined(MNTTAB_OPT_XLATECOOKIE)
+  if (hasmntopt(mntp, MNTTAB_OPT_XLATECOOKIE) != NULL)
+    nap->flags |= MNT2_NFS_OPT_XLATECOOKIE;
+#endif /* defined(MNT2_NFS_OPT_XLATECOOKIE) && 
defined(MNTTAB_OPT_XLATECOOKIE) */
+
  #ifdef HAVE_FIELD_NFS_ARGS_T_OPTSTR
    nap->optstr = mntp->mnt_opts;
  #endif /* HAVE_FIELD_NFS_ARGS_T_OPTSTR */


-- please apply.  :)

Thanks,
	hauke


-- 
/~\  The ASCII Ribbon Campaign                    Hauke Fath
\ /    No HTML/RTF in email	        Institut für Nachrichtentechnik
  X     No Word docs in email	                  TU Darmstadt
/ \  Respect for open standards              Ruf +49-6151-16-3281