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!

"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

Reply via email to