arla on linux kernel 2.4

Ted Knupke tknupke at mitre.org
Thu Sep 7 23:20:22 CEST 2000


Hello,

I have been running arla 0.34 under linux with the 2.4 kernel
for a few days now with no problems.   I would like to report
though that I did have to make some minor code changes to
get it to compile.  There was a type casting problem in the
arguments to atomic_read().   See the diffs below.

Ted Knupke


======== in xfs/linux/xfs_inodeops.c ========================
--- xfs_inodeops.c-orig Mon Jul 17 17:21:36 2000
+++ xfs_inodeops.c Thu Aug 31 13:04:13 2000
@@ -402,7 +402,7 @@
 xfs_print_lock(char *s, struct semaphore *sem)
 {
     XFSDEB(XDEBLOCK, ("lock: %s sem: %p count: %d\n",
-        s, sem, (int)atomic_read(&sem->count)));
+        s, sem, (int)atomic_read( (atomic_t *) &sem->count)));
 }

 /*
@@ -1803,7 +1803,7 @@
  if (dentry->d_count == 1) /* We are the only one */
      d_drop(dentry);
 #else
- if (atomic_read(&dentry->d_count) == 1) /* We are the only one */
+ if (atomic_read( (atomic_t *) &dentry->d_count) == 1) /* We are the
only one */
      d_drop(dentry);
 #endif
  return 0;


============ in xfs/linux/xfs_message.c
========================================
--- xfs_message.c-orig Sat Aug 19 16:27:30 2000
+++ xfs_message.c Thu Aug 31 13:03:07 2000
@@ -375,8 +375,8 @@
 #else
      XFSDEB(XDEBMSG, ("clean_all_children: "
         "child->d_count: %d child->d_inode: %p\n",
-        atomic_read(&child->d_count), child->d_inode));
-     if (atomic_read(&child->d_count) == 0)  /* Throw immediately */
+        atomic_read( (atomic_t *) &child->d_count), child->d_inode));
+     if (atomic_read( (atomic_t *) &child->d_count) == 0)  /* Throw
immediately */
   d_drop(child);
 #endif
  }
@@ -473,7 +473,7 @@
 #ifndef LINUX2_3
  if (dentry->d_count == 0)
 #else
- if (atomic_read(&dentry->d_count) == 0)
+ if (atomic_read( (atomic_t *) &dentry->d_count) == 0)
 #endif
  {
      dget(dentry);







More information about the Arla-drinkers mailing list