From: https://www.google.com/accounts/o8/id?id=AItOawn2W_EtrdFOC2pZeY_gLLUGsy6EowC_4Xc Date: Mon, 25 Jul 2011 15:22:23 +0000 (-0700) Subject: (no commit message) X-Git-Url: http://git.openafs.org/?p=openafs-wiki.git;a=commitdiff_plain;h=c0205bab3165e5c3e38c280a56c4bf248a14f2cb --- diff --git a/AFSLore/CacheManagerPorting.mdwn b/AFSLore/CacheManagerPorting.mdwn index 36784ea..84931f4 100644 --- a/AFSLore/CacheManagerPorting.mdwn +++ b/AFSLore/CacheManagerPorting.mdwn @@ -4,7 +4,7 @@ The following notes were directed to a potential GSOC participant interested in 1. yes, I do have a partial port to [[NetBSD]], based on the [[OpenBSD]] port. It turns out that the [[NetBSD]] port was the original ancestor port of [[OpenBSD]] and possibly influenced our [[FreeBSD]] port, too. Hence it has a good deal in common with several other ports, but may agree more closely in some areas, such as VM integtration. -2. My port isn't fully viable. Where it might be useful is as a fairly large bucket of copy-paste first-cut solutions to many issues.

Specifically, an [[OpenAFS]] cache manager can be thought of as a collection of cooperating subsystems and internal interface mappings covering a finite set of features. The main body of that platform-specific mapping glue is localized in the various port-specific osi\_\* files (e.g., OBSD/osi\_\*), especially osi\_machdep.h, osi\_vnodeops.c, and osi\_file.c. Of course, there are parts scattered around, including under rx/<PLATFORM>, rx\_knet.\{h,c\}, in VNOPS, in afs\_pioctl.c, and elsewhere.

One way I would talk about milestones would be to talk about different levels:

1\. complete and reviewed candidate implementations of all the applicable subsystem mappings for a port, taken to a state of compilation but not yet integration tested. Here, you have "solutions" for a bunch of point problems, including (I'm certainly leaving out some): +2. My port isn't fully viable. Where it might be useful is as a fairly large bucket of copy-paste first-cut solutions to many issues.

Specifically, an [[OpenAFS]] cache manager can be thought of as a collection of cooperating subsystems and internal interface mappings covering a finite set of features. The main body of that platform-specific mapping glue is localized in the various port-specific osi\_\* files (e.g., OBSD/osi\_\*), especially osi\_machdep.h, osi\_vnodeops.c, and osi\_file.c. проститутки Of course, there are parts scattered around, including under rx/<PLATFORM>, rx\_knet.\{h,c\}, in VNOPS, in afs\_pioctl.c, and elsewhere.

One way I would talk about milestones would be to talk about different levels:

1\. complete and reviewed candidate implementations of all the applicable subsystem mappings for a port, taken to a state of compilation but not yet integration tested. Here, you have "solutions" for a bunch of point problems, including (I'm certainly leaving out some): 1. internal locking (how glock and subsystem/object locks are implemented) 2. memory allocation (the local KMALLOC often)