Linux kernel 2.6.15 changes break arla 0.41 module build
Michael Milligan
milli at acmeps.com
Mon Jan 9 05:46:23 CET 2006
Issues: (with quick and dirty patches, relative to 0.41 release)
1) user_get_super() is no longer exported. Need to export it again,
rebuild kernel. Not sure how to work around this newly unexported call
in the arla source only.
diff -ub linux-2.6.15-orig/fs/super.c linux-2.6.15-mm/fs/super.c
--- linux-2.6.15-orig/fs/super.c 2006-01-02 20:21:10 -0700
+++ linux-2.6.15-mm/fs/super.c 2006-01-08 20:47:02 -0700
@@ -475,6 +475,8 @@
return NULL;
}
+EXPORT_SYMBOL(user_get_super);
+
asmlinkage long sys_ustat(unsigned dev, struct ustat __user * ubuf)
{
struct super_block *s;
2) Semaphore usage changes in fs.h, hiding the namespace semaphore.
Need to export it, and then need to modify nnpfs_syscalls.c to be happy
again. Again, not sure how to work around this new issue in 2.6.15 in
just arla...
diff -ub linux-2.6.15-orig/fs/namespace.c linux-2.6.15-mm/fs/namespace.c
--- linux-2.6.15-orig/fs/namespace.c 2006-01-02 20:21:10 -0700
+++ linux-2.6.15-mm/fs/namespace.c 2006-01-08 21:17:59 -0700
@@ -47,6 +47,8 @@
static kmem_cache_t *mnt_cache;
static struct rw_semaphore namespace_sem;
+EXPORT_SYMBOL(namespace_sem);
+
static inline unsigned long hash(struct vfsmount *mnt, struct dentry
*dentry)
{
unsigned long tmp = ((unsigned long)mnt / L1_CACHE_BYTES);
diff -ub modules-orig/arla/nnpfs/linux/nnpfs_syscalls.c
modules/arla/nnpfs/linux/nnpfs_syscalls.c
--- modules-orig/arla/nnpfs/linux/nnpfs_syscalls.c 2005-08-09
09:37:07 -0600
+++ modules/arla/nnpfs/linux/nnpfs_syscalls.c 2006-01-08 21:24:32 -0700
@@ -648,6 +648,8 @@
* (hope it's good enough)
*/
+extern struct rw_semaphore namespace_sem;
+
static struct vfsmount *
nnpfs_find_first_vfsmount(struct inode *inode) {
struct dentry *root = dget(inode->i_sb->s_root);
@@ -656,7 +658,7 @@
struct vfsmount *tmp = NULL;
struct list_head *head;
- down_read(&namespace->sem);
+ down_read(&namespace_sem);
list_for_each(head, &namespace->list) {
tmp = list_entry(head, struct vfsmount, mnt_list);
if (tmp->mnt_root == root) {
@@ -665,7 +667,7 @@
break;
}
}
- up_read(&namespace->sem);
+ up_read(&namespace_sem);
dput(root);
return mnt;
--
Michael Milligan -> milli at acmeps.com
More information about the Arla-drinkers
mailing list