Please take care. I've committed my functional work-in-progress that
splits the nfs code into seperate client and server components. There was
only a very very small amount of sharing between them. This is partly to
enable a cleaner locking attempt. There were some really nasty domain
crossovers where the client code called significant server functions and
vice versa.
This isn't finished, but works reasonably well. I decided to commit it
because it was a good place to checkpoint, and because a certain developer
made it quite clear that he thought of out-of-tree development work. Since
this can be done in the tree, then so be it.
The bulk of the changes are fairly mechanical.. But the macro unwinding has
been somewhat problematic and error prone due to similarly named variables
used in the similar ways.
On the plus side, the NFS code is now *significantly* smaller due to macro
unwinding. There were some really *nasty* macros there that called other
macros that nested two or three deep.
text data bss dec hex filename
55783 4640 132 60555 ec8b obj/nfsclient.kld
60387 2304 1348 64039 fa27 obj/nfsserver.kld
192288 7008 4612 203908 31c84 obj/nfs.kld
-rw-r--r-- 1 peter wheel 91334 Sep 18 16:53 obj/nfsclient.kld
-rw-r--r-- 1 peter wheel 85659 Sep 18 16:54 obj/nfsserver.kld
-rw-r--r-- 1 peter wheel 255454 Sep 18 16:52 obj/nfs.kld
I apologize in advance if I've broken something, and please be careful!
Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message