[Linux-cachefs] compiling 2.6.13-rc3-mm1-nfs-fscache.patch

nick nick at imageworks.com
Mon Jul 25 21:31:17 UTC 2005


is there some magic to getting the 2.6.13-rc3-mm1-nfs-fscache.patch to
compile correctly with the 2.6.13-rc3 kernel with the -mm1 patches?

i get the following compile time error when building the NFS Cache
option as a module:

In file included from fs/nfs/file.c:34:
fs/nfs/nfs-fscache.h: In function `nfs_set_fscsize':
fs/nfs/nfs-fscache.h:36: warning: implicit declaration of function
`fscache_set_i_size'
fs/nfs/nfs-fscache.h: In function `nfs4_fill_fscookie':
fs/nfs/nfs-fscache.h:69: warning: passing arg 2 of
`fscache_acquire_cookie' from incompatible pointer type
fs/nfs/nfs-fscache.h: In function `nfs_fill_fscookie':
fs/nfs/nfs-fscache.h:93: warning: passing arg 2 of
`fscache_acquire_cookie' from incompatible pointer type
fs/nfs/nfs-fscache.h: In function `nfs_fhget_fscookie':
fs/nfs/nfs-fscache.h:114: warning: passing arg 2 of
`fscache_acquire_cookie' from incompatible pointer type
fs/nfs/nfs-fscache.h: In function `nfs_register_netfs':
fs/nfs/nfs-fscache.h:174: error: too few arguments to function
`fscache_register_netfs'
make[2]: *** [fs/nfs/file.o] Error 1
make[1]: *** [fs/nfs] Error 2
make: *** [fs] Error 2

i appears that the the fscache_register_netfs function takes two
arguments, not one, and in the patches for the 2.6.12 kernel, 

static inline int nfs_register_netfs(void)
{
       int err;

       err = fscache_register_netfs(&nfs_cache_netfs,
                                       &nfs_cache_server_index_def);

       return err;
}

whereas it is now (for the 2.6.13 kernel):

static inline int nfs_register_netfs(void)
{
       int err;

       err = fscache_register_netfs(&nfs_cache_netfs);

       return err;
}

nfs_cache_server_index_def is defined, but lacks all the fields
necessary for this struct, and by adding this as the 2nd parameter to
the call, it also fails to compile.

has anyone gotten this to compile?

-nick





More information about the Linux-cachefs mailing list