Quantcast

Patches to get Arla running on FreeBSD 8-CURRENT

classic Classic list List threaded Threaded
47 messages Options
123
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Patches to get Arla running on FreeBSD 8-CURRENT

rwatson

Dear Arla folk,

I've spent the evening getting Arla (checked out of anoncvs) up and running on
FreeBSD 8-CURRENT, and have it at least minimally running (/afs mounted, some
directory access, read a few files, etc), although arlad core dumped fairly
quickly during use.  I've not yet attempted to debug that problem though.

I've attached a patch that does a few things:

First, it does a few minor Arla cleanups that appear to be necessary to build
on FreeBSD 8: A few general Arla ifdef fixes, etc, such as testing
defined(SunOS) before using the value, likewise on __NetBSD_Version__,
OpenBSD, etc. Fix two build dependency issues I ran into regarding building
arlalib before dependent tools and an include that broke (at least on
FreeBSD).

Second, it adds new autoconf and ifdef parts to get Arla building on FreeBSD
8, such as handling VFS changes that appeared in FreeBSD 7.x and 8.x, the
priv(9) kernel privilege framework, some include problems I ran into with
using /usr/src/sys before /usr/include/sys (which doesn't work for generated
files such as vnode_if.h), and things along those lines.

Unfortunately, I'm not set up to easily build test on other platforms, and
I've also not had a chance to try this on FreeBSD 7 -- my guess is some minor
tweaks may be required with respect to both of those, but hopefully these are
steps in the right direction and someone with a bit more Arla experience can
sort out what I've done into things with keeping and things with fixing :-).
I'll investigate the arlad crash tomorrow.

Patch also up at:

   http://www.watson.org/~robert/freebsd/20080216-arla.diff

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"

20080216-arla.diff (33K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Rasmus Kaj
lör 2008-02-16 klockan 04:12 +0000 skrev Robert Watson:

Hi Robert and Arla folks!

> I've spent the evening getting Arla (checked out of anoncvs) [...]

Everyone who got Arla out of anoncvs, please update!

The anoncvs repo has been out of sync since october 1, 2007.  Now it is
updated -- and updating itself when new commits happen -- again.

Sorry for the inconvenience!


--
Rasmus Kaj <[hidden email]>

_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

rwatson
On Sun, 17 Feb 2008, Rasmus Kaj wrote:

>> I've spent the evening getting Arla (checked out of anoncvs) [...]
>
> Everyone who got Arla out of anoncvs, please update!
>
> The anoncvs repo has been out of sync since october 1, 2007.  Now it is
> updated -- and updating itself when new commits happen -- again.
>
> Sorry for the inconvenience!

Indeed, all the missing changes from October through December are now there in
anoncvs.  Looks like the appl/lib build order fix I needed is already there,
but most of the other changes haven't been bumped into by anyone else yet.  I
needed the one further attached change to correct a build problem resulting
from the more recent work in CVS.  With the updated parts, I now have Arla
running on FreeBSD 8-CURRENT again.

Robert N M Watson
Computer Laboratory
University of Cambridge

http://perforce.freebsd.org/chv.cgi?CH=135612

Change 135612 by rwatson@rwatson_cinnamon_coda on 2008/02/18 01:04:20

  New build fix for NetBSDism in Arla.

Affected files ...

.. //depot/user/rwatson/arla/porting/nnpfs/bsd/nnpfs/nnpfs_locl.h#4 edit

Differences ...

==== //depot/user/rwatson/arla/porting/nnpfs/bsd/nnpfs/nnpfs_locl.h#4 (text+ko) ====

@@ -118,7 +118,7 @@
  #ifdef HAVE_SYS_ATTR_H
  #include <sys/attr.h>
  #endif
-#if __NetBSD_Version__ >= 399001900 /* 3.99.19 */
+#if defined(__NetBSD_Version__) && __NetBSD_Version__ >= 399001900 /* 3.99.19 */
  #define HAVE_SYS_KAUTH_H
  #endif
  #ifdef HAVE_SYS_KAUTH_H
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss-6
Robert, I've been playing with your patches, etc. on 8-CURRENT.
I've been having to tweak up include/config.h a little so I wonder
if you missed a few autoconf things... but more important, running
"ls /afs" results in:

nnpfs: cdev: 0, syscall: 339


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x26c
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc2a7f1fc
stack pointer           = 0x28:0xcd412a40
frame pointer           = 0x28:0xcd412a5c
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 4822 (ls)
[thread pid 4822 tid 100176 ]
Stopped at      nnpfs_getattr_common+0xc:       movl
0x26c(%eax),%eax
db> bt
Tracing pid 4822 tid 100176 td 0xc2783440 nnpfs_getattr_common(c297b110,cd412ab4,c24f1700,c2783440,cd412aa0,...) at nnpfs_getattr_common+0xc
nnpfs_getattr(cd412aa0,0,c0b10208,cd412b48,cd412b28,...) at nnpfs_getattr+0x33
VOP_GETATTR_APV(c2a854a0,cd412aa0,c0bd91a0,c297b110,cd412ab4,...) at VOP_GETATTR_APV+0xa5
vn_stat(c297b110,cd412b48,c24f1700,0,c2783440,...) at vn_stat+0x49
kern_stat(c2783440,8113138,0,cd412c18,c0c5d140,...) at kern_stat+0x81
stat(c2783440,cd412cfc,8,cd412d38,c0ba1e60,...) at stat+0x2f
syscall(cd412d38) at syscall+0x2b3
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (188, FreeBSD ELF32, stat), eip = 0x281a3acb, esp = 0xbfbfe54c, ebp = 0xbfbfe5d8 ---
db>

If I'me reading this (and nnpfs_vnodeops_common.c) right, this is
probably a NULL value for (xn or perhaps vap) in

        *vap = xn->attr;

(line 765) Any thoughts?  Or tips on what I can do to help?  I
don't have gdb ready to go yet---but I probably can this weekend.  

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss-6
On 2008-02-22 06:52,  wrote:
> Robert, I've been playing with your patches, etc. on 8-CURRENT.
[chop]

I take it back... boldly adding printf all over says:

        vp->v_mount is null

in the NNPFS_FROM_VNODE macro.

Adding if (vp->v_mount) return EDOOFUS does:

ls: /afs: Programming error

Attempting to umount /afs then panics most likely for the same
reason (v_mount is null):


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x26c
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc2a26dfc
stack pointer           = 0x28:0xcd49bb00
frame pointer           = 0x28:0xcd49bb2c
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 5754 (umount)
[thread pid 5754 tid 100206 ]
Stopped at      nnpfs_inactive_common+0xc:      movl
0x26c(%eax),%eax
db> bt
Tracing pid 5754 tid 100206 td 0xc298e220
nnpfs_inactive_common(c2a58440,c298e220,cd49bb54,c0a68485,cd49bb6c,...)
at nnpfs_inactive_common+0xc
nnpfs_inactive(cd49bb6c,c2a584c8,c2a58440,c2a584c8,cd49bb84,...) at
nnpfs_inactive+0x1e
VOP_INACTIVE_APV(c2a2b4a0,cd49bb6c,c0afa47c,8fd,c0bd93e0,...) at
VOP_INACTIVE_APV+0xa5
vinactive(c2a584c8,0,c0afa47c,86d,c253b880,...) at vinactive+0x91
vrele(c2a58440,c2a2ba70,0,c2a2800b,0,...) at vrele+0x18b
nnpfs_free_all_nodes(c2a2b6e0,0,1,c2a58330,c2a2b6e0,...) at
nnpfs_free_all_nodes+0xa5
nnpfs_unmount_common(c231329c,8000000,0,c298e220,cd49bc54,...) at
nnpfs_unmount_common+0x4e
nnpfs_unmount(c231329c,8000000,c298e220,4f0,4da,...) at
nnpfs_unmount+0x49
dounmount(c231329c,8000000,c298e220,482,8,...) at dounmount+0x426
unmount(c298e220,cd49bcfc,8,3d90d,c0ba0ed0,...) at unmount+0x2e0
syscall(cd49bd38) at syscall+0x2b3
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (22, FreeBSD ELF32, unmount), eip = 0x280c62db, esp =
0xbfbfe4dc, ebp = 0xbfbfe598 ---
db>

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

rwatson
In reply to this post by Alec Kloss-6
On Fri, 22 Feb 2008, Alec Kloss wrote:

> Robert, I've been playing with your patches, etc. on 8-CURRENT. I've been
> having to tweak up include/config.h a little so I wonder if you missed a few
> autoconf things... but more important, running "ls /afs" results in:

This is a symptom of a failure to insmntque a vnode after creating it, a new
requirement for vnodes in FreeBSD 7.x/8.x; previously, vnodes were
automatically inserted on the mount vnode queue and had their mount pointer
set up during getnewvnode(), but closing certain races motivated this change.
The reason I know this is that I remember adding two calls to insmntque to
nnpfs in my patches, so there are three possibilities: (1) I missed a call to
getnewvnode, (2) the patches I posted didn't include that change, or (3) the
patch didn't apply properly.  I'll investigate this later today once I've
given my FOSDEM talk; chances are it's an issue with the patch.

Robert N M Watson
Computer Laboratory
University of Cambridge


>
> nnpfs: cdev: 0, syscall: 339
>
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0x26c
> fault code              = supervisor read, page not present
> instruction pointer     = 0x20:0xc2a7f1fc
> stack pointer           = 0x28:0xcd412a40
> frame pointer           = 0x28:0xcd412a5c
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                        = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 4822 (ls)
> [thread pid 4822 tid 100176 ]
> Stopped at      nnpfs_getattr_common+0xc:       movl
> 0x26c(%eax),%eax
> db> bt
> Tracing pid 4822 tid 100176 td 0xc2783440 nnpfs_getattr_common(c297b110,cd412ab4,c24f1700,c2783440,cd412aa0,...) at nnpfs_getattr_common+0xc
> nnpfs_getattr(cd412aa0,0,c0b10208,cd412b48,cd412b28,...) at nnpfs_getattr+0x33
> VOP_GETATTR_APV(c2a854a0,cd412aa0,c0bd91a0,c297b110,cd412ab4,...) at VOP_GETATTR_APV+0xa5
> vn_stat(c297b110,cd412b48,c24f1700,0,c2783440,...) at vn_stat+0x49
> kern_stat(c2783440,8113138,0,cd412c18,c0c5d140,...) at kern_stat+0x81
> stat(c2783440,cd412cfc,8,cd412d38,c0ba1e60,...) at stat+0x2f
> syscall(cd412d38) at syscall+0x2b3
> Xint0x80_syscall() at Xint0x80_syscall+0x20
> --- syscall (188, FreeBSD ELF32, stat), eip = 0x281a3acb, esp = 0xbfbfe54c, ebp = 0xbfbfe5d8 ---
> db>
>
> If I'me reading this (and nnpfs_vnodeops_common.c) right, this is
> probably a NULL value for (xn or perhaps vap) in
>
>        *vap = xn->attr;
>
> (line 765) Any thoughts?  Or tips on what I can do to help?  I
> don't have gdb ready to go yet---but I probably can this weekend.
>
> --
> Alec Kloss  [hidden email]   IM: [hidden email]
> PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
> "No Bunny!" -- Simon, from Frisky Dingo
>
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss
On 2008-02-23 09:28, Robert Watson wrote:

> This is a symptom of a failure to insmntque a vnode after creating it, a
> new requirement for vnodes in FreeBSD 7.x/8.x; previously, vnodes were
> automatically inserted on the mount vnode queue and had their mount pointer
> set up during getnewvnode(), but closing certain races motivated this
> change. The reason I know this is that I remember adding two calls to
> insmntque to nnpfs in my patches, so there are three possibilities: (1) I
> missed a call to getnewvnode, (2) the patches I posted didn't include that
> change, or (3) the patch didn't apply properly.  I'll investigate this
> later today once I've given my FOSDEM talk; chances are it's an issue with
> the patch.
Check.  The issue is with configure, etc.  include/config.h doesn't have

#define HAVE_KERNEL_INSMNTQUE 1

in it.  I'll add it to my list of configure-related issues.
Recompiling now...

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss
On 2008-02-23 04:29, Alec wrote:
>
> #define HAVE_KERNEL_INSMNTQUE 1
>
> in it.  I'll add it to my list of configure-related issues.
> Recompiling now...
>

oldothello% uname -a
FreeBSD oldothello.setfilepointer.com 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Feb 20 13:45:22 CST 2008 [hidden email]:/usr/local/obj/usr/src/sys/GENERIC
i386
oldothello% ls /afs
andrew.cmu.edu      grand.central.org   openafs.org
athena.mit.edu      hallf.kth.se        research.company.com
cern.ch         isk.kth.se      rose-hulman.edu
deek.org        it.kth.se       setfilepointer.com
dementia.org        md.kth.se       stacken.kth.se
dev.mit.edu     mech.kth.se
e.kth.se        mekinok.com
oldothello%

Neat!  Heimdal gets tokens correctly, access to private directories
works.  I'm running the arla test suite now;  I'm up to hardlink3
with no problems.  I did notice that, when umounting /afs, I get
a lock order reversal:

lock order reversal:
 1st 0xc231329c vfslock (vfslock) @ /usr/src/sys/kern/vfs_mount.c:1242
 2nd 0xc2dabaf8 syncer (syncer) @ /usr/src/sys/kern/vfs_subr.c:2156
KDB: stack backtrace:
db_trace_self_wrapper(c0af1b78,cd4b3b2c,c07a1a6e,c0af3fc2,c2dabaf8,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c0af3fc2,c2dabaf8,c0afad01,c0afad01,c0afa47c,...) at kdb_backtrace+0x29
witness_checkorder(c2dabaf8,9,c0afa47c,86c,c0c16cb4,...) at witness_checkorder+0x6de
_lockmgr(c2dabaf8,2002,c2dabb28,c0afa47c,86c,...) at _lockmgr+0x43c
vop_stdlock(cd4b3bc4,c0afa47c,c07a1338,2002,c2dabaa0,...) at vop_stdlock+0x39
VOP_LOCK1_APV(c0bb0980,cd4b3bc4,84f,cd4b3be4,c2dabb28,...) at VOP_LOCK1_APV+0xa5
_vn_lock(c2dabaa0,2002,c0afa47c,86c,0,...) at _vn_lock+0xf2
vrele(c2dabaa0,0,c0af9de1,4f0,4da,...) at vrele+0x142
dounmount(c231329c,8000000,c356b000,482,8,...) at dounmount+0x372
unmount(c356b000,cd4b3cfc,8,cd4b3d38,c0ba0ed0,...) at unmount+0x2e0
syscall(cd4b3d38) at syscall+0x2b3
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (22, FreeBSD ELF32, unmount), eip = 0x280c62db, esp =
0xbfbfe4ec, ebp = 0xbfbfe5a8 ---

I see a few other lock order reversals on -CURRENT right now
anyway, so I'm not sure if it's cause for concern or even caused
by arla.

I'm going to move on to trying everything on 7.x.  I know there are
autoconf/etc. things that need to be fixed.  Do you want me to work
on that or are you likely to have it done already.  
I do have a tweaked version of your patch---as I recall it contains
just one typo fix---at

        http://setfilepointer.com/pub/arla/20080218-arla.diff

There's also the snapshot of the sources I used:

        http://setfilepointer.com/pub/arla/arla-20080118.tar.bz2

Assuming I get things working on 7.x, I'll update the port I built
later today.  :)

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss
Sorry for the chatter... arla makes me excited.  :)

I've gotten Robert's patches compiled and running under -CURRENT,
RELENG_7, and RELENG_6.  A FreeBSD port and FreeBSD packages are
available at

        http://setfilepointer.com/pub/afs/FreeBSD/

All of the heavy lifting is done in the big patch at

        http://setfilepointer.com/pub/arla/20080223-arla.diff

This was generated by taking a current snapshot from arla's CVS,
applying Robert's original patch, and then adding a handful of
fixes of my own.  The jist of my changes are autoconf corrections,
and one test for NNPFS_DEBUG_PRIV which is undefined on -CURRENT.
There's a general autoconf problem running around that a few tests
require -Werror to work correctly some can't have -Werror to work
correctly.  

I've run the "-all -fast" tests which don't cause any major issues
on RELENG_7 and -CURRENT, but I do seem to be able to panic 6.x
with those tests.  More testers and feedback would be appreciated.

Can anyone from Arla comment on the chances for incorporating
these patches into Arla itself?  It'd be nice to have these changes
in Arla itself prior to submitting the port to FreeBSD.

And, can anyone comment on need for the arla port to include 0.43,
which works on FreeBSD 5.x?

Robert, thanks so much for your time.  I owe you (at least) a beer.  

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

rwatson
On Sat, 23 Feb 2008, Alec Kloss wrote:

> All of the heavy lifting is done in the big patch at
>
> http://setfilepointer.com/pub/arla/20080223-arla.diff
>
> This was generated by taking a current snapshot from arla's CVS, applying
> Robert's original patch, and then adding a handful of fixes of my own.  The
> jist of my changes are autoconf corrections, and one test for
> NNPFS_DEBUG_PRIV which is undefined on -CURRENT. There's a general autoconf
> problem running around that a few tests require -Werror to work correctly
> some can't have -Werror to work correctly.

Sounds great, although PRIV_NNPFS_DEBUG should be defined on the most recent
-CURRENT; I added it last week, so if you're running a slightly older
-CURRENT, that could be why.  I believe I also MFC'd to RELENG_7 but it won't
make FreeBSD 7.0.

> I've run the "-all -fast" tests which don't cause any major issues on
> RELENG_7 and -CURRENT, but I do seem to be able to panic 6.x with those
> tests.  More testers and feedback would be appreciated.
>
> Can anyone from Arla comment on the chances for incorporating these patches
> into Arla itself?  It'd be nice to have these changes in Arla itself prior
> to submitting the port to FreeBSD.
>
> And, can anyone comment on need for the arla port to include 0.43, which
> works on FreeBSD 5.x?
>
> Robert, thanks so much for your time.  I owe you (at least) a beer.

No problem at all -- this is something I've been meaning to do for years, and
I'm very pleased all the pieces are coming together :-).

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Tomas Olsson
In reply to this post by Alec Kloss
On Sat, 2008-02-23 at 10:12 -0600, Alec Kloss wrote:
> All of the heavy lifting is done in the big patch at
>
> http://setfilepointer.com/pub/arla/20080223-arla.diff
[...]
> Can anyone from Arla comment on the chances for incorporating
> these patches into Arla itself?  It'd be nice to have these changes
> in Arla itself prior to submitting the port to FreeBSD.
>
Chances are good. If it looks ok it goes in.

> Robert, thanks so much for your time.  I owe you (at least) a beer.  
Methinks you're worth one too.

Thanks for the great work!

/t

_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Tomas Olsson
I wrote:

> On Sat, 2008-02-23 at 10:12 -0600, Alec Kloss wrote:
> > All of the heavy lifting is done in the big patch at
> >
> > http://setfilepointer.com/pub/arla/20080223-arla.diff
> [...]
> > Can anyone from Arla comment on the chances for incorporating
> > these patches into Arla itself?  It'd be nice to have these changes
> > in Arla itself prior to submitting the port to FreeBSD.
> >
> Chances are good. If it looks ok it goes in.
>
Looks mostly ok, but I do have some questions.

1) appl/fs/fs_local.h: would that break `fs nnpfsdeb all`?

2) cf/try-compile-kernel.m4: why do we need /usr/include? It sounds
scary given that we may want to compile using random kernel trees. Same
goes for nnpfs/freebsd/FreeBSD-Makefile. I don't know much about kernel
build magic.

3) cf/bsd-vop-unlock.m4: do we need it? I don't care about older
versions of FreeBSD than 6.x; traditionally we try to support latest
stable OS-release plus -CURRENT but maybe that's a bit limiting.
Perphaps nnpfs_vfs_unlock solves part of the problem?

thanks
       /t

_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Palle Girgensohn
In reply to this post by rwatson
I'm delighted to see all this chatter about arla. Any chance we can get a
server working as well? I reckon that should, in principle, be easier,
since it is not as much kernel involvement, right? But the best bet is
OpenAFS, and it is different animal, so the KTH guys are not as deep into
this code?

/Palle <[hidden email]>

And hi, Rasmus! :-)


_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss
On 2008-02-25 00:22, Palle Girgensohn wrote:

> I'm delighted to see all this chatter about arla. Any chance we can get a
> server working as well? I reckon that should, in principle, be easier,
> since it is not as much kernel involvement, right? But the best bet is
> OpenAFS, and it is different animal, so the KTH guys are not as deep into
> this code?
>
> /Palle <[hidden email]>
>
> And hi, Rasmus! :-)
>
>
Oh, the OpenAFS server has worked on FreeBSD forever, and I run two
cells with multiple terabytes of data on FreeBSD only.  The OpenAFS
param files tend to be out of date but I'm planning on getting
on top of that too.  There's a port of OpenAFS 1.5.30 I put together
available right next to the arla stuff here:

http://setfilepointer.com/pub/afs/FreeBSD/

I tend to install the server everywhere I install arla because the
vos and bos commands in arla in incomplete compared to their
implementation in openafs.  I suppose I should nag someone at
OpenAFS to include the new param files I made for newer FreeBSDs
(not that the new param files are particularly inspired).  It'd be
great if a few people would comment on this port and then I guess
I'll create a PR to get it included in the ports tree at the same
time as arla.

Sound good?

Also, who's writing the FreeBSD wiki?  I'm embarrased to tell
people to go look at the gentoo documentation for AFS.  :)

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Hugo Meiland-4

>
> Also, who's writing the FreeBSD wiki?  I'm embarrased to tell
> people to go look at the gentoo documentation for AFS.  :)
>
>  

I tried to create afs pages on the wiki twice; but was denied each
time.... any change of opening an account to get me writing??

Hugo

_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

rwatson

On Mon, 25 Feb 2008, Hugo Meiland wrote:

>> Also, who's writing the FreeBSD wiki?  I'm embarrased to tell people to go
>> look at the gentoo documentation for AFS.  :)
>
> I tried to create afs pages on the wiki twice; but was denied each time....
> any change of opening an account to get me writing??

Getting you set up shouldn't be a problem at all -- could you e-mail me your
wiki.FreeBSD.org username and I'll add you to ContributorsGroup.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Tomas Olsson
In reply to this post by Alec Kloss
On Sun, 2008-02-24 at 18:17 -0600, Alec Kloss wrote:
> I tend to install the server everywhere I install arla because the
> vos and bos commands in arla in incomplete compared to their
> implementation in openafs.
Of course, one solution would be to nag and/or code until they get good
enough in arla... Getting another vos subcommand or two to work
shouldn't be all that much work. And we all love to complete skeleton
patches, don't we :)

/t



_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

rwatson
In reply to this post by Tomas Olsson
On Sun, 24 Feb 2008, Tomas Olsson wrote:

> I wrote:
>> On Sat, 2008-02-23 at 10:12 -0600, Alec Kloss wrote:
>>> All of the heavy lifting is done in the big patch at
>>>
>>> http://setfilepointer.com/pub/arla/20080223-arla.diff
>> [...]
>>> Can anyone from Arla comment on the chances for incorporating these
>>> patches into Arla itself?  It'd be nice to have these changes in Arla
>>> itself prior to submitting the port to FreeBSD.
>>>
>> Chances are good. If it looks ok it goes in.
>>
> Looks mostly ok, but I do have some questions.
>
> 1) appl/fs/fs_local.h: would that break `fs nnpfsdeb all`?
>
> 2) cf/try-compile-kernel.m4: why do we need /usr/include? It sounds scary
> given that we may want to compile using random kernel trees. Same goes for
> nnpfs/freebsd/FreeBSD-Makefile. I don't know much about kernel build magic.
>
> 3) cf/bsd-vop-unlock.m4: do we need it? I don't care about older versions of
> FreeBSD than 6.x; traditionally we try to support latest stable OS-release
> plus -CURRENT but maybe that's a bit limiting. Perphaps nnpfs_vfs_unlock
> solves part of the problem?

Just back from FOSDEM, and am 3-4 days behind on e-mail, so will need to
investigate (1) and (2) in a day or two.

If I've done (1) correctly then, in practice, it shouldn't change things at
all, except that on FreeBSD 7.x and higher, it will use the priv(9) interface
to check for privilege rather than suser(9).  While there are plans for
further privilege semantic changes, the interface change so far is actually a
syntactic change -- the policy remains the same, but information about the
check is managed differently, hence the change to the interface.  This is a
precursor to more fine-grained privileges in the kernel.

With respect to (2), I need to look at the details, but I believe this has to
do with the fact that nnpfs is relying on generated files that may not be
present in a kernel source tree.  The more right fix may be to force
generation of the files (if we can) in the nnpfs build, as we already do for
vnode_if.h, but I'll have to look in more detail.

With respect to (3) -- that has to do with support for 8-CURRENT, not pre-6.x.
It looks like the VFS folks are in the middle of dropping unnecessary thread
arguments from various locking interfaces in VFS, including
lock/unlock/assert/etc (these will now all be curthread implicitly).  I just
saw a couple more such changes trickle in today, so I'll probably have some
more patches, sadly.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

Alec Kloss
First off, I've got a few hours to work on this tomorrow night, so
if we could decide on an approach (and Robert can help me with the
heavy lifting) before then, that'd be super.  

On 2008-02-25 21:19, Robert Watson wrote:

> On Sun, 24 Feb 2008, Tomas Olsson wrote:
>
> >Looks mostly ok, but I do have some questions.
> >
> >1) appl/fs/fs_local.h: would that break `fs nnpfsdeb all`?
> >
> >2) cf/try-compile-kernel.m4: why do we need /usr/include? It sounds scary
> >given that we may want to compile using random kernel trees. Same goes for
> >nnpfs/freebsd/FreeBSD-Makefile. I don't know much about kernel build magic.
> >
> >3) cf/bsd-vop-unlock.m4: do we need it? I don't care about older versions
> >of FreeBSD than 6.x; traditionally we try to support latest stable
> >OS-release plus -CURRENT but maybe that's a bit limiting. Perphaps
> >nnpfs_vfs_unlock solves part of the problem?
>
> Just back from FOSDEM, and am 3-4 days behind on e-mail, so will need to
> investigate (1) and (2) in a day or two.
>
> If I've done (1) correctly then, in practice, it shouldn't change things at
> all, except that on FreeBSD 7.x and higher, it will use the priv(9)
> interface to check for privilege rather than suser(9).  While there are
> plans for further privilege semantic changes, the interface change so far
> is actually a syntactic change -- the policy remains the same, but
> information about the check is managed differently, hence the change to the
> interface.  This is a precursor to more fine-grained privileges in the
> kernel.
I can shed a little light.  It's definitely broken now as fs
nnpfsdeb almost-all has no effect.  I added the check for
PRIV_NNPFS_DEBUG in nnpfs_common-bsd.c:

+#elif defined(HAVE_KERNEL_PRIV_CHECK) && defined(PRIV_NNPFS_DEBUG)

because on my -current box PRIV_NNPFS_DEBUG isn't defined.  I
thought it might be an OpenBSD-ism.  Regardless, I would think it
*should* fall back to checking with suser() but apparently it
doesn't.  I can investigate a bit more, but removing nnpfs_deb.h
must have broader impact than we though.  Robert, any thoughts
about what PRIV_NNPFS_DEBUG should be?

> With respect to (2), I need to look at the details, but I believe this has
> to do with the fact that nnpfs is relying on generated files that may not
> be present in a kernel source tree.  The more right fix may be to force
> generation of the files (if we can) in the nnpfs build, as we already do
> for vnode_if.h, but I'll have to look in more detail.

I think this is correct too.  Things like machine/endian.h aren't
in the kernel tree.  I should be able to autoconf this for just
FreeBSD if that's how we want to approach this.  If you want
to have configure generate these headers like vnode_if.h, I'll
probably need a few hints, but I'll do what I can.

> With respect to (3) -- that has to do with support for 8-CURRENT, not
> pre-6.x. It looks like the VFS folks are in the middle of dropping
> unnecessary thread arguments from various locking interfaces in VFS,
> including lock/unlock/assert/etc (these will now all be curthread
> implicitly).  I just saw a couple more such changes trickle in today, so
> I'll probably have some more patches, sadly.

And I added the cf check... I found HAVE_THREE_ARGUMENT_VOP_UNLOCK
was undefined in ./nnpfs/bsd/nnpfs_vnodeops-common.c and figured
it's smarter to just add the check than assume something about
VOP_UNLOCK from the VOP_LOCK macros.  

--
Alec Kloss  [hidden email]   IM: [hidden email]
PGP key at http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA241980E
"No Bunny!" -- Simon, from Frisky Dingo

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Patches to get Arla running on FreeBSD 8-CURRENT

rwatson

On Mon, 25 Feb 2008, Alec Kloss wrote:

> I can shed a little light.  It's definitely broken now as fs nnpfsdeb
> almost-all has no effect.  I added the check for PRIV_NNPFS_DEBUG in
> nnpfs_common-bsd.c:
>
> +#elif defined(HAVE_KERNEL_PRIV_CHECK) && defined(PRIV_NNPFS_DEBUG)
>
> because on my -current box PRIV_NNPFS_DEBUG isn't defined.  I thought it
> might be an OpenBSD-ism.  Regardless, I would think it *should* fall back to
> checking with suser() but apparently it doesn't.  I can investigate a bit
> more, but removing nnpfs_deb.h must have broader impact than we though.
> Robert, any thoughts about what PRIV_NNPFS_DEBUG should be?

PRIV_NNPFS_DEBUG is a definition that will appear in FreeBSD 7.1, but 7.0 was
already in final freeze when I added it to 8.x + 7.x.  The reason I didn't
have a specific check for PRIV_NNPFS_DEBUG is that I adapted nnpfs for 8.x,
but not 7.0.  If priv(9) is present but not PRIV_NNPFS_DEBUG, we should use
PRIV_ROOT for now.

>> With respect to (2), I need to look at the details, but I believe this has
>> to do with the fact that nnpfs is relying on generated files that may not
>> be present in a kernel source tree.  The more right fix may be to force
>> generation of the files (if we can) in the nnpfs build, as we already do
>> for vnode_if.h, but I'll have to look in more detail.
>
> I think this is correct too.  Things like machine/endian.h aren't in the
> kernel tree.  I should be able to autoconf this for just FreeBSD if that's
> how we want to approach this.  If you want to have configure generate these
> headers like vnode_if.h, I'll probably need a few hints, but I'll do what I
> can.

Indeed, it was machine/endian.h that did it.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-afs
To unsubscribe, send any mail to "[hidden email]"
123
Loading...