[OpenAFS-devel] Re: [PATCH] PAG support only

Jeff Garzik jgarzik@pobox.com
Tue, 13 May 2003 12:48:57 -0400


On Tue, May 13, 2003 at 05:33:11PM +0100, David Howells wrote:
> Due to the slight unpopularity of the AFS multiplexor, here's a patch with

I think of it as "bitter pill we will be forced to swallow", and then
hope and pray that we can use your AFS stuff as a transition step to --
after many years -- migrate people away from AFS altogether.  ;-)

Or maybe that's just wishful thinking.


> diff -uNr linux-2.5.69/fs/open.c linux-2.5.69-cred/fs/open.c
> --- linux-2.5.69/fs/open.c	2003-05-06 15:04:45.000000000 +0100
> +++ linux-2.5.69-cred/fs/open.c	2003-05-13 11:28:08.000000000 +0100
> @@ -46,7 +46,7 @@
>  	struct nameidata nd;
>  	int error;
>  
> -	error = user_path_walk(path, &nd);
> +	error = user_path_walk(path,&nd);

a bit of noise


> --- linux-2.5.69/include/asm-i386/posix_types.h	2003-05-06 15:04:37.000000000 +0100
> +++ linux-2.5.69-cred/include/asm-i386/posix_types.h	2003-05-12 10:19:15.000000000 +0100
> @@ -13,6 +13,7 @@
>  typedef unsigned short	__kernel_nlink_t;
>  typedef long		__kernel_off_t;
>  typedef int		__kernel_pid_t;
> +typedef int		__kernel_pag_t;
>  typedef unsigned short	__kernel_ipc_pid_t;
>  typedef unsigned short	__kernel_uid_t;
>  typedef unsigned short	__kernel_gid_t;
[...]
> +int sys_setpag(pag_t pag)
> +int sys_getpag(void)

Surely you want s/int/long/ here?

Two other comments:

* even though you're referencing 'current', I'm a bit surprised you
  don't need any locking at all in sys_getpag.  Is that guaranteed
  through judicious use of xchg()?

* is it reasonable to make credentials support a config option?
  Long term I worry about Linux kernel becoming another Irix, supporting
  thousands of rarely used syscalls unconditionally.

	Jeff



P.S.  Looking forward to the "cachefs" code you have in your cvs repo
hitting mainline.  That will be fun for NFS.  <grin>