Index: linux-2.6.20.3/fs/filesystems.c =================================================================== --- linux-2.6.20.3.orig/fs/filesystems.c 2007-08-15 20:12:11.000000000 +0200 +++ linux-2.6.20.3/fs/filesystems.c 2007-08-15 20:12:26.000000000 +0200 @@ -29,7 +29,9 @@ */ static struct file_system_type *file_systems; -static DEFINE_RWLOCK(file_systems_lock); +DEFINE_RWLOCK(file_systems_lock); + +EXPORT_SYMBOL(file_systems_lock); /* WARNING: This can be used only if we _already_ own a reference */ void get_filesystem(struct file_system_type *fs) Index: linux-2.6.20.3/include/linux/fs.h =================================================================== --- linux-2.6.20.3.orig/include/linux/fs.h 2007-08-15 20:12:12.000000000 +0200 +++ linux-2.6.20.3/include/linux/fs.h 2007-08-15 20:15:06.000000000 +0200 @@ -1813,6 +1813,7 @@ extern const struct file_operations generic_ro_fops; +extern rwlock_t file_systems_lock; #define special_file(m) (S_ISCHR(m)||S_ISBLK(m)||S_ISFIFO(m)||S_ISSOCK(m)) extern int vfs_readlink(struct dentry *, char __user *, int, const char *); Index: linux-2.6.20.3/fs/namespace.c =================================================================== --- linux-2.6.20.3.orig/fs/namespace.c 2007-08-15 20:12:12.000000000 +0200 +++ linux-2.6.20.3/fs/namespace.c 2007-08-15 20:12:26.000000000 +0200 @@ -1627,6 +1627,7 @@ mntput(old_pwdmnt); } } +EXPORT_SYMBOL(set_fs_pwd); static void chroot_fs_refs(struct nameidata *old_nd, struct nameidata *new_nd) { Index: linux-2.6.20.3/fs/dcache.c =================================================================== --- linux-2.6.20.3.orig/fs/dcache.c 2007-08-15 20:12:11.000000000 +0200 +++ linux-2.6.20.3/fs/dcache.c 2007-08-15 20:16:42.000000000 +0200 @@ -1508,7 +1508,7 @@ * Update the dcache to reflect the move of a file name. Negative * dcache entries should not be moved in this way. */ -static void d_move_locked(struct dentry * dentry, struct dentry * target) +void d_move_locked(struct dentry * dentry, struct dentry * target) { struct hlist_head *list; @@ -1567,6 +1567,8 @@ write_sequnlock(&rename_lock); } +EXPORT_SYMBOL(d_move_locked); + /** * d_move - move a dentry * @dentry: entry to move @@ -1966,6 +1968,7 @@ return result; } +EXPORT_SYMBOL(is_subdir); void d_genocide(struct dentry *root) {