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