arlad dies

Love lha at stacken.kth.se
Thu Sep 7 22:09:50 CEST 2000


André Zúquete <avz at sabrina.inesc.pt> writes:

> |To: andre.zuquete at inesc.pt
> |Cc: arla-drinkers at stacken.kth.se
> |Subject: Re: arlad dies
> |
> |André Zúquete <avz at sabrina.inesc.pt> writes:
> |
> |> Hi,
> |> 
> |> arlad dies when I do a makedepend on a AFS directory. The failure
> |> is due to an assert near the end of function truncate_file:
> |> 
> |> assert (entry->status.Length == size);
> |
> |Seems weird. Only that I can think of is this patch.
> |
> |Is it possible to reproduce the error, how do you do it (like on what tree
> |are yu running makedepend, etc).
> 
> Tkx for the fast answer and fix, but the error remains the same ...
> 
[...] 
> Hope this helps.

Ok, I think I have found the problem. Arlad and xfs get out of sync since
xfs seem to be happy updating the since of the file.

Note that I haven't tried this patch since I'm out in the
bandwidth-backwaters/forest (vistiting my parents). I haven't hade chance
to check if it compiles or try run the regression tests.

Dunno what it breaks.

Love

Index: xfs/linux/xfs_vfsops.c
===================================================================
RCS file:
/afs/stacken.kth.se/src/SourceRepository/arla/xfs/linux/xfs_vfsops.c,v
retrieving revision 1.68
diff -u -w -r1.68 xfs_vfsops.c
--- xfs/linux/xfs_vfsops.c        2000/06/26 00:40:15     1.68
+++ xfs/linux/xfs_vfsops.c        2000/09/07 20:05:50
@@ -365,8 +365,10 @@
         vattr2xfs_attr(attr, &msg.attr);
        inode_setattr(inode, attr);
        if (XFS_TOKEN_GOT(xn, XFS_DATA_R)) {
-           if (S_ISREG(inode->i_mode))
+           if (S_ISREG(inode->i_mode)
+               && (attr->ia_valid & ATTR_SIZE) == ATTR_SIZE) {
                XA_SET_SIZE(&msg.attr,  inode->i_size);
+           }
            XA_SET_MTIME(&msg.attr, inode->i_mtime);
        }
         error = xfs_message_rpc(xfsp->fd, &msg.header, sizeof(msg));






More information about the Arla-drinkers mailing list