[932] in arla-drinkers
Re: Arla 0.25 on Linux 2.2.10 bug
daemon@ATHENA.MIT.EDU (Assar Westerlund)
Mon Jun 28 23:39:02 1999
From owner-arla-drinkers@stacken.kth.se Tue Jun 29 03:39:02 1999
Return-Path: <owner-arla-drinkers@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 20029 invoked from network); 29 Jun 1999 03:39:00 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
by bloom-picayune.mit.edu with SMTP; 29 Jun 1999 03:39:00 -0000
Received: (from majordom@localhost)
by sundance.stacken.kth.se (8.8.8/8.8.8) id FAA12067
for arla-drinkers-list; Tue, 29 Jun 1999 05:33:13 +0200 (MET DST)
Received: from assaris.sics.se (assaris.sics.se [193.10.66.108])
by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id FAA12062;
Tue, 29 Jun 1999 05:33:09 +0200 (MET DST)
Received: (from assar@localhost) by assaris.sics.se (8.9.3/8.7.3) id FAA44352; Tue, 29 Jun 1999 05:33:32 +0200 (CEST)
From: Assar Westerlund <assar@stacken.kth.se>
To: Martin Dickopp <martin@pktw16.phy.tu-dresden.de>, map@stacken.kth.se
Cc: arla-drinkers@stacken.kth.se
Subject: Re: Arla 0.25 on Linux 2.2.10 bug
References: <Pine.LNX.4.10.9906290128530.433-100000@pktw16.phy.tu-dresden.de>
Mime-Version: 1.0 (generated by tm-edit 7.68)
Content-Type: text/plain; charset=US-ASCII
Date: 29 Jun 1999 05:33:32 +0200
In-Reply-To: Martin Dickopp's message of "Tue, 29 Jun 1999 02:08:11 +0200 (MEST)"
Message-ID: <5l9093n0j7.fsf@assaris.sics.se>
Lines: 55
X-Mailer: Gnus v5.5/Emacs 19.34
Sender: owner-arla-drinkers@stacken.kth.se
Precedence: bulk
Martin Dickopp <martin@pktw16.phy.tu-dresden.de> writes:
> Another problem is that after creating a hard link, both directory
> entries of the file show a link count of 1 instead of 2. After
> stopping and restarting Arla, the correct link count (2) appears.
> The patch below fixes this for me, but I'm not sure if it is really
> a general solution. I have found it more by trial and error than
> by really understanding what is going on. ;)
No, that's one way of solving it. I would prefer solving it in xfs
instead, with this patch:
Index: xfs/linux/xfs_node.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_node.c,v
retrieving revision 1.30
diff -u -w -u -w -r1.30 xfs_node.c
--- xfs_node.c 1998/12/22 13:16:34 1.30
+++ xfs_node.c 1999/06/29 03:25:35
@@ -152,6 +152,7 @@
/* Init other fields */
result->attr = node->attr;
+ xfs_attr2inode (&result->attr, result->vn);
XFS_TOKEN_SET(result, XFS_ATTR_R, XFS_ATTR_MASK);
memmove(result->id, node->id, sizeof(result->id));
memmove(result->rights, node->rights, sizeof(result->rights));
> A related problem is that when a directory entry of a file with
> a link count >= 3 is deleted, the link count of the remaining
> directory entries is not decreased. However, when I remove one
> of two directory entries of a file, the remaining one shows a
> correct link count of 1. Unfortunately, I don't have a patch for
> this.
As you say, that's a little bit harder. I'll have to think about that
some more.
> diff -u --recursive arla-0.25.orig/xfs/linux/xfs_node.c arla-0.25/xfs/linux/xfs_node.c
> --- arla-0.25.orig/xfs/linux/xfs_node.c Tue Dec 22 14:16:34 1998
> +++ arla-0.25/xfs/linux/xfs_node.c Mon Jun 28 20:24:11 1999
> @@ -72,7 +72,7 @@
> printk(KERN_EMERG "XFS Panic: xfs_iget: super block is NULL\n");
> return NULL;
> }
> - if ((inode = iget(sb, (ino_t)newnode)) == NULL) {
> + if ((inode = iget(sb, (ino_t)attr->xa_fileid)) == NULL) {
> printk(KERN_EMERG "XFS Panic: xfs_iget: iget failed\n");
> return NULL;
> }
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Magnus?
/assar