Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Nov 2001 16:59:15 +0100
From:      Andrea Campi <andrea@webcom.it>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Importing AFS / Arla in kernel
Message-ID:  <20011126155915.GB3625@webcom.it>
In-Reply-To: <Pine.NEB.3.96L.1011124173749.64014B-100000@fledge.watson.org>
References:  <20011122104225.GC1600@webcom.it> <Pine.NEB.3.96L.1011124173749.64014B-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
[Picking a semi-random message to reply, exp. since you volunteered to commit]

OK, so you can find the patch at this URL:

http://www.webcom.it/freebsd/arla.diff

A few things to note:

 - first, this patch imports in contrib a selection of the needed files as will
be in the arla repo as soon as assar gets to commit them. This means we still
need a few days, but also that we will need no patch (don't want to take files
off the vendor branch). I will try to ensure things stay this way as much as
possible, i.e. commit first to arla and then import over. This also means that
something might change a little bit as I get more feedback from Arla people.

 - I propose to name the module arlaxfs even if the original name is xfs, to
avoid possible future conflicts with SGI XFS, should we ever want to have that.
However, if you guys feel this is not important, we could call this xfs and
stay more compatible with original Arla.

 - Previously Arla allocated a dynamic syscall number; I want to use 339 as
that's been reserved for AFS. I had to do this, don't know if it's correct:

Index: sys/kern/syscalls.master
===================================================================
RCS file: /u/ncvs/src/sys/kern/syscalls.master,v
retrieving revision 1.100
diff -u -r1.100 syscalls.master
--- sys/kern/syscalls.master    2 Nov 2001 17:58:26 -0000       1.100
+++ sys/kern/syscalls.master    23 Nov 2001 23:26:24 -0000
@@ -483,7 +483,7 @@
                                struct sf_hdtr *hdtr, off_t *sbytes, int flags);
 }
 337    STD     BSD     { int kldsym(int fileid, int cmd, void *data); }
 338    MSTD    BSD     { int jail(struct jail *jail); }
-339    UNIMPL  BSD     pioctl
+339    NODEF   NOHIDE  lkmressys lkmressys nosys_args int
 340    MSTD    POSIX   { int sigprocmask(int how, const sigset_t *set, \
                            sigset_t *oset); }
 341    MSTD    POSIX   { int sigsuspend(const sigset_t *sigmask); }


Please note that I am currently at the point where I am able to compile in the
kernel or as module, and load the module with no error. However I am sure
actually using this module would give errors, and almost certainly panic your
machine (I still need to touch WITNESS code, for starters); but I need to have
something committed or I risk losing so much time redoing things when something
changes. I am confident that it won't be long until I have it 100% working.
One area I need help with is, if I compile arla in the kernel (vs. as a module)
it doesn't register. I'm sure I've forgotten something, so I obviously need
some tutoring in this.

So, if anybody care to review and comment, I'd be grateful.

Bye,
	Andrea


> 
> There's lots of existing precedent for this, including in the form of
> Coda, which uses a very similar model.  Boasting out-of-the-box support
> for AFS also has its advantages :-).  I'd be happy to do the commit-work
> fo this if Assar is otherwise occupied.
> 

-- 
                   It's not a bug, it's tradition!

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011126155915.GB3625>