[OpenAFS-devel] openafs on Linux 2.6.16 rc?

Marc Dionne dionne@cs.wisc.edu
Sat, 18 Feb 2006 22:36:50 -0500


Stefaan wrote:
> I had the same error (at least the 'i_sem') on my linux 2.6.16-rc1.
> Some surfing on the net got me this regarding 2.6.16:
> - down(&inode->i_sem);
> + mutex_lock(&inode->i_mutex);
>
> - up(&inode->i_sem);
> + mutex_unlock(&inode->i_mutex);
>
> I did exactly those changes to osi_file.c, and it worked like a charm.
> This of course isn't a general solution, but I'm not up to speed with
> kernel development well enough to conceive such a thing :)
>
> Stefaan
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>   

Hi Stefaan,

I had the same issue compiling from the CVS head, and found that there's 
now a test in configure for i_mutex (in the CVS head), but it wasn't 
working for me until I applied this patch to acinclude.m4.  This seems 
to be needed to actually produce the right #define in afsconfig.h - 
otherwise the test succeeds but no #define is generated.


--- acinclude.m4        15 Feb 2006 00:31:53 -0000      1.166
+++ acinclude.m4        19 Feb 2006 03:22:01 -0000
@@ -676,6 +676,9 @@
                 if test 
"x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then
                  AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define 
if your struct inode has truncate_sem])
                 fi
+                if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = 
"xyes"; then
+                 AC_DEFINE(STRUCT_INODE_HAS_I_MUTEX, 1, [define if your 
struct inode has i_mutex])
+                fi
                 if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" 
= "xyes"; then
                  AC_DEFINE(STRUCT_INODE_HAS_I_ALLOC_SEM, 1, [define if 
your struct inode has alloc_sem])
                 fi


Marc