vfs changes in 3.0-CURRENT (arla-0.1)

Assar Westerlund assar at sics.se
Mon Sep 14 03:11:38 CEST 1998


David Quattlebaum <sasdrq at unx.sas.com> writes:
> Good Afternoon,

Hi

> I'm looking at modifying arla-0.1 (free afs implementation)
> to work with FreeBSD 3.0-CURRENT. I'm running into problems with
> the changes to kernel vfs code.

As Magnus already said, 0.1 is really old and you should base your
hacking on something more recent like 0.9.

>    vfs_busy() has 4 arguments now.

That should work with 0.9 which checks the number of arguments of
vfs_busy()

>    vfs_unbusy() has more args too.

same as above

>    NCHNAMLEN no longer used.

The following (untested) patch should fix that problem.

>    getnewfsid() no longer exists. (do I need to write my own
>                                    xfs_getnewfsid())?

0.9 should use vfs_getnewfsid() instead when there's such a function.

> 
> Has anyone tried to make arla-0.1 work with 3.0-CURRENT with
> any success?

According to what I've heard it has worked on some vintage of 3.0, but
that might have been some time ago.

/assar


Index: xfs/bsd/xfs_vnodeops-common.c
===================================================================
RCS file: /usr/local/cvsroot/arla/xfs/bsd/xfs_vnodeops-common.c,v
retrieving revision 1.5
diff -u -w -u -w -r1.5 xfs_vnodeops-common.c
--- xfs_vnodeops-common.c	1998/07/23 04:18:45	1.5
+++ xfs_vnodeops-common.c	1998/09/14 01:09:39
@@ -439,7 +439,7 @@
 
 	    if (error == 0)
 		error = ((struct xfs_message_wakeup *) & msg)->error;
-	    if(error == ENOENT && cnp->cn_namelen <= NCHNAMLEN) {
+	    if(error == ENOENT) {
 		XFSDEB(XDEBVNOPS, ("xfs_lookup: neg cache %p (%s, %ld)\n",
 				   dvp,
 				   cnp->cn_nameptr, cnp->cn_namelen));
Index: xfs/bsd/xfs_node-bsd.c
===================================================================
RCS file: /usr/local/cvsroot/arla/xfs/bsd/xfs_node-bsd.c,v
retrieving revision 1.5
diff -u -w -u -w -r1.5 xfs_node-bsd.c
--- xfs_node-bsd.c	1998/07/23 06:28:38	1.5
+++ xfs_node-bsd.c	1998/09/14 01:09:57
@@ -401,7 +401,9 @@
 		      "dvp = %p, vp = %p, cnp = (%s, %ld, %lu)\n",
 		      dvp, vp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_hash));
 
+#ifdef NCHNAMLEN
     if (cnp->cn_namelen <= NCHNAMLEN)
+#endif
 	cache_enter(dvp, vp, cnp);
 
     if (vp != NULL)





More information about the Arla-drinkers mailing list