Linux 2.4-test3

Magnus Jonsson bigfoot at acc.umu.se
Mon Jul 17 18:35:02 CEST 2000



Hello!

In my attempts to get arla running on my Linux box running 2.4-test3
I found that 'struct dentry' member 'd_count' has changed from int
to atomic_t causing xfs_messages.c and xfs_inodeops.c to fail in
compiling.

By simply changing 'd_count' to 'd_count.counter' xfs compiles fine
and seems to be stable (at least at my system =)

/Fot

-- 
Magnus Jonsson <bigfoot at acc.umu.se>, Sysadmin @ acc,hpc2n
Student at the Department of Computing Science, Umeå University
Our greatest battles are that with our own minds


--------------8<---------------
bamse:~/arla/xfs/linux> cvs -R diff -u
cvs diff: Diffing .
Index: xfs_inodeops.c
===================================================================
RCS file:
/afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_inodeops.c,v
retrieving revision 1.137
diff -u -r1.137 xfs_inodeops.c
--- xfs_inodeops.c      2000/07/12 16:57:43     1.137
+++ xfs_inodeops.c      2000/07/17 00:50:49
@@ -1799,7 +1799,7 @@
     xfs_print_lock("xfs_d_revalidate after up",
                   &DENTRY_TO_XDENTRY(dentry)->sem);
     if (!DENTRY_TO_XDENTRY(dentry)->valid) {
-       if (dentry->d_count == 1) /* We are the only one */
+       if (dentry->d_count.counter == 1) /* We are the only one */
            d_drop(dentry);
        return 0;
     }
Index: xfs_message.c
===================================================================
RCS file:
/afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_message.c,v
retrieving revision 1.83
diff -u -r1.83 xfs_message.c
--- xfs_message.c       2000/06/23 07:55:13     1.83
+++ xfs_message.c       2000/07/17 00:51:01
@@ -362,10 +362,10 @@
                DENTRY_TO_XDENTRY(child)->valid = 0;
            }
            XFSDEB(XDEBMSG, ("clean_all_childs: "
-                            "child->d_count: %d child->d_inode:
                             %p\n",
-                            child->d_count, child->d_inode));
-           if (child->d_count == 0)  /* Throw immediately */
-               d_drop(child);
+                            "child->d_count.counter: %d child->d_inode: %p\n",
+                            child->d_count.counter, child->d_inode));
+           if (child->d_count.counter == 0)  /* Throw immediately */
+                        d_drop(child); 
        }
 #endif
        alias = alias->next;
@@ -456,8 +456,8 @@
                          (int)dentry->d_name.len,
                          dentry->d_name.name,
                          dentry,
-                         dentry->d_count));
-       if (dentry->d_count == 0) {
+                         dentry->d_count.counter));
+       if (dentry->d_count.counter == 0) {
            dget(dentry);
            d_drop(dentry);
            dput(dentry);
--------------8<---------------






More information about the Arla-drinkers mailing list